【发布时间】:2021-11-29 10:31:11
【问题描述】:
我正在使用 KnexJS 创建迁移。以下是两个表的迁移: 表格任务
exports.up = function(knex) {
return knex.schema.createTable('tasks', table => {
table.uuid('id')
table.string('title').notNullable()
table.boolean('status').defaultTo(0)
table.timestamps(true, true)
})
};
exports.down = function(knex) {
return knex.schema.dropTable('tasks')
};
表格:子任务
exports.up = function(knex) {
return knex.schema.createTable('subtasks', table => {
table.string('title').notNullable()
table.boolean('status').defaultTo(0)
table.uuid('task_id').references('id').inTable('tasks')
table.timestamps(true, true)
})
};
exports.down = function(knex) {
return knex.schema.dropTable('subtasks')
};
但是在运行迁移时出现以下错误:
migration file "20211010072346_subtasks.js" failed
migration failed with error: alter table `subtasks` add constraint `subtasks_task_id_foreign` foreign key (`task_id`) references `tasks` (`id`) - ER_CANT_CREATE_TABLE: Can't create table `todo_application`.`subtasks` (errno: 150 "Foreign key constraint is incorrectly formed")
我在这里做错了什么?
谢谢
【问题讨论】:
标签: mysql database-migration knex.js