【发布时间】:2019-12-05 15:16:16
【问题描述】:
我对 sequelize 和 postgresql 很陌生。我寻找了很多关于这个问题的答案,但我找不到任何与我相关的东西。如果这个问题在另一篇文章中有答案,我很抱歉重复,我很乐意参考另一篇文章并从这里删除我的帖子。
一开始我是这样做的:
sequelize model:generate --name user --attributes username:string,email:string,password:string,collection_id:INTEGER
其中collection_id 引用另一个表ID。我对集合表做了同样的事情:
sequelize model:generate --name collection --attributes plant_id:integer,user_id:integer
在我的模型中,我更新了关联 在我添加的集合模型中:
models.collection.belongsTo(models.user, {foreignKey: 'user_id'})
在我添加的用户模型中:
models.user.hasOne(models.collection, {foreignKey: 'collection_id'})
在我添加的迁移文件中:
user_id: {
type: Sequelize.INTEGER,
references: {
model: {
tableName: 'user'
}
}
}
collection_id: {
type: Sequelize.INTEGER,
references: {
model: {
tableName: 'collection'
}
}
}
在他们各自的文件中。现在这里的问题是,sequelize 试图在集合模型之前迁移用户模型,但是后者在第一个模型中被引用,我得到这个错误“关系“集合”不存在”,这才有意义。现在如果我删除了引用,有没有办法在我迁移后添加它?
【问题讨论】:
标签: node.js postgresql sequelize.js