[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Thiago Barraviera
Criador Thiago Barraviera 09/12/2023

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

 

Manager Carlos Ferreira 09/12/2023

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();

    }

}

Carlos Ferreira
Criador Thiago Barraviera 09/12/2023

Então, mas o estranho é que o banco para tenant não está nem sendo criado.

Thiago Barraviera
Manager Carlos Ferreira 09/12/2023

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', []);

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!