config.${env}.js
config.sequelize = {
datasources: [
// 默认的model目录
{
// 加载所有的model到app.model&ctx.model
delegate: 'model',
// 要加载的model目录`app/model/*.js`
baseDir: 'model',
// 指明数据库类型
dialect: 'mysql',
// 数据库配置
database: 'local_db',
host: 'localhost',
port: '3306',
username: 'root',
password: 'root',
// 时间差
timezone: 'Asia/Shanghai',
define: {
// 禁止自动添加createdAt和updatedAt字段
timestamps: false,
},
},
// 自定义的model
{
// 加载所有的model到app.otherModel&ctx.otherModel
delegate: 'otherModel',
// 要加载的model目录`app/models/other/*.js`
baseDir: 'models/other',
// 指明数据库类型
dialect: 'mysql',
// 数据库配置
database: 'local_other_db',
host: 'localhost',
port: '3306',
username: 'root',
password: 'root',
// 时间差
timezone: 'Asia/Shanghai',
define: {
// 禁止自动添加createdAt和updatedAt字段
timestamps: false,
},
},
],
};
定义 model
在 app/model/ 和 app/models/other/ 分别定义所需的 model,例如:可以同时定义 user.js 对应不同数据源中的 user 表。
调用 model
await this.app.model.User.findAll({ raw: true });
await this.app.otherModel.User.findAll({ raw: true });