diff --git a/src/bin/delete-crate.rs b/src/bin/delete-crate.rs index 1793b288c3d..3c15bc99204 100644 --- a/src/bin/delete-crate.rs +++ b/src/bin/delete-crate.rs @@ -73,11 +73,29 @@ fn delete(tx: &postgres::transaction::Transaction) { &[&krate.id]).unwrap(); println!(" {} deleted", n); + println!("disabling reserved crate name trigger"); + let _ = tx.execute("ALTER TABLE crates DISABLE TRIGGER trigger_ensure_crate_name_not_reserved;", + &[]).unwrap(); + println!("deleting crate keyword connections"); let n = tx.execute("DELETE FROM crates_keywords WHERE crate_id = $1", &[&krate.id]).unwrap(); println!(" {} deleted", n); + println!("deleting crate category connections"); + let n = tx.execute("DELETE FROM crates_categories WHERE crate_id = $1", + &[&krate.id]).unwrap(); + println!(" {} deleted", n); + + println!("enabling reserved crate name trigger"); + let _ = tx.execute("ALTER TABLE crates ENABLE TRIGGER trigger_ensure_crate_name_not_reserved;", + &[]).unwrap(); + + println!("deleting crate badges"); + let n = tx.execute("DELETE FROM badges WHERE crate_id = $1", + &[&krate.id]).unwrap(); + println!(" {} deleted", n); + println!("deleting the crate"); let n = tx.execute("DELETE FROM crates WHERE id = $1", &[&krate.id]).unwrap();