Modelo multi-tenancy Olá pessoal, tô precisando de um help, uma sugestão. Tô desenvolvendo um sistema em adianti, onde pretendo trabalhar com o modelo multi-tenancy, do tipo Multi-inquilino via container: vários inquilinos são executados na mesma instância de um container de aplicação (um servidor de aplicações), mas cada inquilino está associado a uma instância separada do banco de dados, ou seja, vou t...
CS
Modelo multi-tenancy  
Olá pessoal, tô precisando de um help, uma sugestão. Tô desenvolvendo um sistema em adianti, onde pretendo trabalhar com o modelo multi-tenancy, do tipo Multi-inquilino via container: vários inquilinos são executados na mesma instância de um container de aplicação (um servidor de aplicações), mas cada inquilino está associado a uma instância separada do banco de dados, ou seja, vou ter um servidor web rodando uma única aplicação só que com um banco de dados separado para cada cliente.

Gostaria de saber se alguém já implementou algo do tipo, pois não tô sabendo como automatizar isso para que no momento que o cliente logar no sistema eu verificar a que unidade ele pertence e com isso apontar para a conexão de banco de dados correspondente.

Pensei em fazer algo no arquivo init.php onde identificaria a que unidade o usuário logado pertence e dai setasse o nome do banco de dados correspondente em uma constante. Só que não tô sabendo implementar essa regra.

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (3)


NR

Já fiz algo parecido.

Primeiro criei um arquivo .ini para cada cliente. No momento do login gravo na sessão o identificador do cliente, correspondente ao nome do arquivo .ini, e aí ao abrir a transação é só recuperar o valor da sessão.

Ex:
 
  1. <?php
  2. TTransaction::open(TSession::getValue('user_bd'));
  3. ?>
CM

Estou tendo a mesma necessidade.
FG