【发布时间】:2020-02-21 12:08:47
【问题描述】:
我已使用此迁移创建了一个表:
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 "外键约束格式不正确"
尝试以各种方式建立这种关联,正如我在互联网上看到的那样 - 都出现相同的错误。 这里可能是什么问题?我会提到第一个表(文章)已经存在于数据库中。
【问题讨论】:
标签: mysql node.js sequelize.js