是否可以强制截断具有外键约束的表,以便还删除其他表中的所有行?
我在文档中看不到传递给knex(‘tableName’).truncate()方法的选项.
最佳答案
我没有找到内置的方法来做到这一点,所以我只是进入原始模式:
knex.raw('TRUNCATE TABLE users,products CASCADE')
您还可以将其设置为在迁移中自动进行:
exports.up = function(knex) {
return knex.schema.createTable('users_products',(t) => {
t.uuid('id').primary().defaultTo(knex.raw('uuid_generate_v4()'));
t.uuid('user_id').notNullable().references('id').inTable('users').onDelete('CASCADE');
t.uuid('product_id').notNullable().references('id').inTable('products').onDelete('CASCADE');
});
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。