如何在Sequelize迁移中创build关联?

我正在使用迁移来创build实体。 当然,有些关系在他们之间。 到目前为止,通过使用sync(true) ,我享受了Sequelize在数据库级实现关系的好处。

我如何在迁移中expression新的关系?

  1. 一对多:我应该照顾外键列吗?
  2. 多对多:我应该创build中间表并在每个实体的表上设置外键吗?

或者:我应该运行迁移,然后sync(false) ? 关系不再相关的呢?

       

网上收集的解决方案 "如何在Sequelize迁移中创build关联?"

当我使用迁移,我设置sync:false。

为了build立关联,我的模型就像这样结束了:

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; }; 

这将仍然创build表,如果它不存在。 不过,我build议创build表格仍然是迁移的一部分。 请注意,在您的迁移中创build一个表,以包括id,updatedAt,createdAt和PermissionId列(对于上面的示例)