A solução mais simples é definir a configuração do banco de dados em tempo de execução. O Laravel pode esperar que essas configurações sejam carregadas do
config/database.php
arquivo, mas isso não significa que você não pode definir ou alterá-los mais tarde. A configuração carregada de
config/database.php
é armazenado como database
na configuração do Laravel. Ou seja, as connections
array dentro de config/database.php
é armazenado em database.connections
. Assim, você pode facilmente substituir/alterar essas conexões assim:
Config::set("database.connections.mysql", [
"host" => "...",
"database" => "...",
"username" => "...",
"password" => "..."
]);
A partir daí, qualquer modelo Eloquent que use este
mysql
connection estará usando esta nova configuração de conexão de banco de dados. Eu recomendo fazer isso em um provedor de serviços, se possível.