6
我正在使用遷移來創建實體。當然,有些人有他們之間的關係。到目前爲止,通過使用sync(true)
,我享受了Sequelize在數據庫級實現關係的好處。如何在Sequelize遷移中創建關聯?
如何在遷移中表達新關係?
- 一對多:我應該照顧外鍵列嗎?
- 多對多:我應該創建中間表並在每個實體的表上設置外鍵嗎?
或者:我應該運行遷移,然後sync(false)
? 那些不再相關的關係呢?
我正在使用遷移來創建實體。當然,有些人有他們之間的關係。到目前爲止,通過使用sync(true)
,我享受了Sequelize在數據庫級實現關係的好處。如何在Sequelize遷移中創建關聯?
如何在遷移中表達新關係?
或者:我應該運行遷移,然後sync(false)
? 那些不再相關的關係呢?
當我使用遷移,我設置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列(對於上面的示例)