Sök…


Använda en anslutningspool utan databas

Uppnå multitenancy på databaseserver med flera databaser värd på den.

Multitenancy är vanligt förekommande för företagstillämpning idag och det rekommenderas inte att skapa anslutningspool för varje databas i databaseserver. så vad vi kan göra istället är att skapa anslutningspool med databaseserver och än växla mellan databaser som finns på databasserver på begäran.

Anta att vår ansökan har olika databaser för varje företag som är värd på databasservern. Vi kommer att ansluta till respektive fast databas när användaren träffar applikationen. här är exemplet på hur man gör det: -

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

Låt mig dela upp exemplet: -

När jag definierade poolkonfigurationen gav jag inte databasnamnet utan gav bara databasservern, dvs

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

så när vi vill använda den specifika databasen på databasservern ber vi anslutningen att träffa databasen genom att använda: -

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

Du kan hänvisa till den officiella dokumentationen här



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow