我用克奈克斯做了几张table
exports.up = function(knex, Promise) {
return knex.schema.createTable('login_user', table => {
table.increments('id').unsigned().primary();
table.string('email').notNullable();
table.unique('email');
table.string('password_digest').notNullable();
});
};
exports.down = function(knex, Promise) {
return knex.schema.dropTable('login_user');
};
和
exports.up = function(knex, Promise) {
return knex.schema.createTable('login_software', table => {
table.increments('id').unsigned().primary();
table.string('name').notNullable();
table.integer('login_user_id').unsigned().notNullable().references('id').inTable('login_user').onDelete('CASCADE').index();
});
};
exports.down = function(knex, Promise) {
return knex.schema.dropTable('login_software');
};
如果我能 drop table login_user
不应该´t的 cascade
让我删除登录用户和删除登录软件的过程中?
1条答案
按热度按时间voj3qocg1#
在这种情况下,cascade没有帮助,因为它只告诉当某个外键引用所引用的行被删除时该如何处理该外键引用。
为了能够删除外键引用的表,需要首先删除外键约束。