Zoeken…


Een verbindingspool gebruiken zonder database

Multitenancy bereiken op databaseserver met meerdere daarop gehoste databases.

Multitenancy is tegenwoordig een veelvoorkomende vereiste voor bedrijfstoepassingen en het wordt afgeraden om een verbindingspool voor elke database in de databaseserver te maken. dus kunnen we in plaats daarvan een verbindingspool met databaseserver maken en dan op verzoek schakelen tussen databases die op databaseserver worden gehost.

Stel dat onze applicatie verschillende databases heeft voor elk bedrijf dat op de databaseserver wordt gehost. We zullen verbinding maken met de respectieve bedrijfsdatabase wanneer de gebruiker de applicatie raakt. hier is het voorbeeld hoe dat te doen: -

var pool  = mysql.createPool({
      connectionLimit : 10,
      host            : 'example.org',
      user            : 'bobby',
      password        : 'pass'
    });
    
pool.getConnection(function(err, connection){
    if(err){
        return cb(err);
    }
    connection.changeUser({database : "firm1"});
    connection.query("SELECT * from history", function(err, data){
        connection.release();
        cb(err, data);
    });
});

Laat me het voorbeeld opsplitsen: -

Bij het definiëren van de poolconfiguratie gaf ik niet de databasenaam maar alleen de databaseserver, dwz

{
  connectionLimit : 10,
  host            : 'example.org',
  user            : 'bobby',
  password        : 'pass'
}

dus wanneer we de specifieke database op de databaseserver willen gebruiken, vragen we de verbinding om de database te raken met behulp van: -

    connection.changeUser({database : "firm1"});

u kunt de officiële documentatie hier raadplegen



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow