Sequelize use in eggjs support multi clients(databases) connection, and table folder archive.
$ npm i egg-sequelizer --save
ctx.models.DatabaseOne.FolderOne.ModelOne === app.models.DatabaseOne.FolderOne.ModelOne
ctx.models.DatabaseOne.FolderTwo.ModelOne === app.models.DatabaseOne.FolderTwo.ModelOne
ctx.models.DatabaseTwo.FolderOne.ModelOne === app.models.DatabaseTwo.FolderOne.ModelOne
ctx.model.DefaultDatabaseFolderOne.ModelOne === app.model.DefaultDatabaseFolderOne.ModelOne
// {app_root}/config/plugin.js
exports.sequelizer = {
enable: true,
package: 'egg-sequelizer',
};
singleton client:
exports.sequelizer = {
client: {
// directory: '', // resolved to be 'app/model', which is default.
database: 'dbOneName',
host: '***'
username: '***',
password: '***'
}
};
multi clients:
exports.sequelizer = {
defaultClient: 'dbOneAlias', /* default connection, cab be invoked by 'app.model' */
clients: {
dbOneAlias: {
directory: 'dbOne', // resolved to be 'app/model/dbOne'
database: 'dbOneName',
host: '***'
username: '***',
password: '***'
},
dbTwoAlias: {
directory: 'dbTwo', // resolved to be 'app/model/dbTwo
database: 'dbTwoName',
host: '***'
username: '***',
password: '***'
}
}
};
directory
can be an absolute or relative (to application app/model
) path(s).