Centralize diversos clientes (TENANTS) com conceitos super avançados no mesmo sistema, e cada um com o seu próprio Database (Banco de dados) isolado.
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-multi-database
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