他のテーブル内のすべての行も削除されるように、外部キー制約付きのテーブルを強制的に切り捨てることはできますか?外部キー制約付きのKnex truncate table
knex('tableName').truncate()
メソッドに渡すオプションがドキュメントに表示されません。
他のテーブル内のすべての行も削除されるように、外部キー制約付きのテーブルを強制的に切り捨てることはできますか?外部キー制約付きのKnex truncate table
knex('tableName').truncate()
メソッドに渡すオプションがドキュメントに表示されません。
私はそれを行う方法で構築発見していないので、私はちょうどrawモードにドロップします。
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');
});
};
Knexjsにtruncate()
メソッドが追加されました。
すべてのケースで機能するわけではありませんが、基本的な切り捨ての必要性には問題ありません。