我正在使用迁移来创建实体。当然,有些人之间有关系。到目前为止,通过使用sync(true)
,我很享受Sequelize在数据库级别为我实现关系的好处。
如何在迁移中表达新关系?
或者:我应该运行迁移然后sync(false)
吗?
那些不再相关的关系呢?
答案 0 :(得分:3)
当我使用迁移时,我设置了sync:false。
为了设置关联,我的模型最终会这样:
user.js的:
module.exports = function(sequelize, DataTypes) {
var User = sequelize.define("User", {
"fname": {
"type": DataTypes.STRING,
"unique": false,
"allowNull": false
},
"lname": {
"type": DataTypes.STRING,
"allowNull": false
}
}, {
"tableName": "Users",
"classMethods": {
"associate": function (models) {
Locale.hasMany(models.Permissions);
}
}
});
return User;
};
如果表格不存在,它仍会创建表格。但是,我建议创建表仍然是迁移的一部分。请注意,在迁移中创建一个表以包含id,updatedAt,createdAt和PermissionId列(对于上面的示例)