Sei que não é o objetivo do seu post, mas poderia dar mais detalhes de manter cada cliente com seu banco de dados?

Eu pressuponho que atualmente a aplicação roda on premisses e cada cliente tem sua instância banco e agora nesse novo projeto será online.

Qual foi o racional para não criar o novo projeto com um tenantId por exemplo?

Em todo caso, bela análise. Escolher o banco pra um projeto nunca é fácil e nunca é uma decisão perfeita.

Olá, Detinho!

Na verdade, toda a nossa infraestrutura já está na nuvem da AWS. No nosso projeto, a identificação do cliente é feita por meio do login. Possuímos uma base de dados centralizada para gerenciar usuários e autenticações.

Após a autenticação, identificamos a base de dados correspondente ao cliente e realizamos o direcionamento adequado. Para garantir segurança e isolamento, cada base de dados possui um usuário exclusivo, com permissões restritas apenas à sua respectiva instância.

Além disso, implementamos um conjunto de mecanismos de segurança para proteger os dados de acesso às bases, garantindo integridade e confidencialidade.

Se precisar de mais informações pode solicitar.

legal. eu imagino que deve ter alguma ferramenta pra fazer aplicar e gerenciar as migrações do schema em todos os bancos. Quando tem alguma migração qual a estratégia? all or nothing ou vocês já preparam a aplicação pra funcionar com / sem um campo novo por exemplo. Se puder dar mais detalhes dessa parte eu agradeço, pois as histórias que ouvi nessas abordagens eram sempre cheias de pesadelos rsrs. valeu!