Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Gostaria de saber se é uma boa prática

o codigo esta funcionando normalmente .....

dentro da pasta config criei :

const { Sequelize } = require('sequelize');
class NewDb {
  static novoBanco() {
    const bancoNovo = new Sequelize('*******', '******', '******', {
      dialect: 'mysql',
      host: 'localhost',
    });
    return bancoNovo;
  }
}
module.exports = NewDb;

e chamo ele no controller :

const NewDb = require('../../config/configNewDb');

class DataController{

  static async pegaTodosOsDados(req, res){
    const novoBanco = NewDb.novoBanco();
    try {
        const sql = 'SELECT * FROM DadosProducaos';
        const results = await novoBanco.query(sql, {type: novoBanco.QueryTypes.SELECT, });
      return res.status(200).json(results)  
    } catch (error) {
      return res.status(500).json(error.message)
    }
  }

Consegui trabalhar com vários bancos diferentes criando rotas para cada banco "codigo funcionou e não houve problema " mas como estou começando na area de T.I não sei se é uma boa pratica fazer isso. e estou usando o sequelize para migrar cada banco criado, fazendo um banco para cada empresa diferente que usa o sistema.

1 resposta
solução!

Bom dia, Juliano! Tudo bem?

A abordagem que você está utilizando pode ser considerada uma solução válida, especialmente se cada empresa que utiliza o sistema possui um banco de dados separado. Dessa forma, você consegue isolar os dados de cada empresa e facilitar a manutenção e gerenciamento do sistema.

No entanto, é importante considerar alguns pontos antes de definir se essa é a melhor abordagem para o seu caso específico.

Por exemplo, se você espera que o número de empresas que utilizam o sistema aumente significativamente, criar uma rota para cada banco de dados pode se tornar inviável e difícil de gerenciar. Nesse caso, talvez seja mais adequado utilizar uma abordagem mais flexível, onde as informações de conexão com o banco de dados possam ser configuradas dinamicamente, por exemplo, através de um arquivo de configuração ou de uma tabela no banco de dados principal.

Além disso, certifique-se de que está tomando as devidas precauções de segurança ao lidar com múltiplos bancos de dados. Garanta que cada conexão com o banco de dados é autenticada corretamente e que as permissões de acesso são configuradas de forma adequada para evitar possíveis vulnerabilidades.

No geral, a abordagem que você está utilizando pode ser adequada para o seu caso atual, mas é importante avaliar se ela é escalável e se atende às necessidades futuras do sistema.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.