Banco nao cria
Boa tarde, Carlos. Os bancos nao estao sendo criados. Coloquei um dd no método handle do arquivo CreateCompanyDatabase.php e está chegando normalmente. Será que meu ambiente docker está influenciando nisso? Uso laravel 9 com sail.
https://github.com/barraviera/tenancy-multi-db
Olá, Thiago! Tudo bem?
Segue um código atualizado, que uso em um projeto atual, não precisa mais do reconnect:
<?php
namespace App\Tenant;
use App\Models\Company;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
class ManagerTenant
{
public function setConnection(Company $company)
{
DB::purge('tenant');
config()->set('database.connections.tenant.host', $company->access->bd_hostname);
config()->set('database.connections.tenant.database', $company->access->bd_database);
config()->set('database.connections.tenant.username', $company->access->bd_username);
config()->set('database.connections.tenant.password', $company->access->bd_password);
Schema::connection('tenant')->getConnection()->reconnect();
}
public function resetConnection(): void
{
DB::purge('tenant');
config()->set('database.connections.tenant.host', env('DB_HOST'));
config()->set('database.connections.tenant.database', env('DB_DATABASE'));
Schema::connection('tenant')->getConnection()->reconnect();
}
}
Então, mas o estranho é que o banco para tenant não está nem sendo criado.
Coloca um dd aqui para validar que está chegando: https://github.com/barraviera/tenancy-multi-db/blob/main/app/Tenant/Database/DatabaseManager.php#L14
Ou melhor, adiciona um log:
\Log::debug('aqui', []);
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!