![](/img/trans.png)
[英]Sequelize migration 'Can't create table (errno: 150 "Foreign key constraint is incorrectly formed")'
[英]Sequelize migration fails with errno: 150 "Foreign key constraint is incorrectly formed"
我使用此迁移创建了一个表:
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('articles', {
id: { type: Sequelize.INTEGER, primaryKey: true,autoIncrement: true },
title: { type: Sequelize.STRING },
content: { type: Sequelize.TEXT },
createdAt: {type:Sequelize.DataTypes.DATE},
updatedAt: {type:Sequelize.DataTypes.DATE}
},
);
然后,在新的迁移中,我尝试创建另一个表,该表将引用第一个表:
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('comments', {
id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true },
title: { type: Sequelize.STRING },
content: { type: Sequelize.TEXT },
createdAt: { type: Sequelize.DataTypes.DATE },
updatedAt: { type: Sequelize.DataTypes.DATE },
articleId: {
type: Sequelize.INTEGER,
references: {
model: {
tableName: 'articles',
schema: 'schema'
},
key: 'id'
},
}
},
);
}
我得到
errno: 150 “外键约束的格式不正确”
尝试以各种方式建立这种关联,正如我在互联网上看到的那样 - 都出现了相同的错误。 这里可能有什么问题? 我会提到第一个表(文章)已经存在于数据库中。
已解决:文档中似乎有错误。 这样做的方法是:
articleId: {
type: Sequelize.INTEGER,
references: {
model:"articles",
key:"id"
},
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.