我在SQL上使用knex.js进行迁移。 现在有一个错误的外键,我想删除它。 我为此使用下面的语法,但它不起作用。 它没有显示任何错误,但也没有删除外键。
exports.up = function(knex, Promise) {
knex.schema.table('page_block_data', function(table) {
table.dropForeign('page_block_data_block_id_foreign');
});
};
exports.down = () => {};
有人可以帮我解决这个问题吗?。
答案 0 :(得分:0)
您缺少up方法的回报。可能导致数据库连接实际上在查询发送到数据库服务器之前已关闭。
尝试:
exports.up = async (knex, Promise) => {
return knex.schema.table('page_block_data', function(table) {
table.dropForeign('page_block_data_block_id_foreign');
});
};
exports.down = async () => {};
答案 1 :(得分:0)
它需要一个只读字符串[]。也许你可以试试:
table.dropForeign(['page_block_data_block_id_foreign']);