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.