安装
npm install egg-sequelize mysql2
插件配置
sequelize: {
enable: true,
package: 'egg-sequelize',
},
数据库配置
config.sequelize = {
dialect: 'mysql',
host: '127.0.0.1',
port: 3306,
database: 'diary',
username: 'root',
password: 'root',
define: {
timestamps: true,
paranoid: true,
freezeTableName: true,
underscored: false,
},
timezone: '+8:00',
dialectOptions: {
dateStrings: true,
typeCast(field, next) {
if (field.type === 'DATETIME') {
return field.string();
}
return next();
},
},
};
具体使用
'use strict';
module.exports = app => {
const { STRING, INTEGER } = app.Sequelize;
const User = app.model.define('user', {
id: { type: INTEGER, primaryKey: true, autoIncrement: true },
name: STRING(30),
password: INTEGER,
}, {
timestamps: false,
});
return User;
};
Unknown column 'createdAt' in 'field list'
{
timestamps: false,
}
https://blog.csdn.net/xgangzai/article/details/90614400
Sequelize.SIRING
Sequelize.SIRING(200)
Sequelize.STRING.BINARY
Sequelize.TEXT
Sequelize.TEXT('tiny')
Sequelize.INTEGER
Sequelize.BIGINT
Sequelize.BIGINT(11)
Sequelize.FLOAT
Sequelize.FLOAT(11)
Sequelize.FLOAT(11, 12)
Sequelize.DOUBLE
Sequelize.DOUBLE(11)
Sequelize.DOUBLE(11, 12)
Sequelize.DECIMAL
Sequelize.DECIMAL(10, 2)
Sequelize.DATE
Sequelize.DATE(6)
Sequelize.DATEONLY
Sequelize.BOOLEAN
Sequelize.ENUM('value 1', 'value 2')
Sequelize.JSON
Sequelize.UUID
感谢:https://blog.csdn.net/zdluoa/article/details/81194215
在Model的实例里面,重写Model的associate方法,将关联的关系放到里面。
一对一的方法有:hasOne(Model, {foreignKey:对方,})和belongsTo(Model,{foreignKey:自己,targetKey:对方})
一对多的方法有: hasMany(Model,{foreignKey:对方, targetKey:自己})和belongsTo(Model,{foreignKey:自己,targetKey:对方})
多对多的方法有: belongsToMany(Model,{through:Model, targetKey:自己, otherKey:对方})
练习请看:
https://www.cnblogs.com/cangqinglang/p/12159490.html