Sistema com múltiplos clientes, todos na mesma aplicação, no mesmo database (banco de dados). Desta vez, separando os registros por subdomínios.
Algumas pastas estão ignoradas pelo .gitignore.
Levando em consideração que você tenha o PHP >= 7.2.0
e composer
na sua variável global PATH, para uma nova instalação do Laravel.
Vou considerar que você esteja rodando um sistema operacional Linux/Windows e com o git instalado, faça o seguinte:
Clone o projeto
git clone https://github.com/ezequieldhonatan/laravel-multi-tenancy-single-database-subdomain
Instale as dependências e o framework
composer install --no-scripts
Crie o arquivo .env
touch .env
Copie e cole os dados do arquivo .env.example para o arquivo .env. Logo em seguida configure o acesso ao banco de dados:
DB_CONNECTION= mysql
DB_HOST= 127.0.0.1
DB_PORT= 3306
DB_DATABASE= laravel-multi-tenancy-multi-database
DB_USERNAME= root
DB_PASSWORD= secret
Crie uma nova chave para a aplicação
php artisan key:generate
Em seguida você deve rodar as migrations com:
php artisan migrate --seed
Habilitando envio de e-mails (GMAIL)
Caso o host do e-mail seja o GMAIL, alterar as configurações do arquivo .env para
MAIL_DRIVER= smtp
MAIL_HOST= smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME= email@gmail.com
MAIL_PASSWORD= password
MAIL_ENCRYPTION= tls
É necessário também habilitar a opção na sua conta de e-mail para "Permitir aplicativos menos seguros". Para isso acesse: Google
Recomendo que use o Mailtrap para testar o envio de emails.
Recomendo php artisan migrate:fresh --seed
para recriar o banco após atualizações. FRESH deleta o banco e cria novamente.
DevOps: Ezequiel Dhonatan