sql >> Databáze >  >> RDS >> Mysql

Mám použít ON DELETE CASCADE, :dependent => :destroy, nebo obojí?

Pokud máte FK s ON DELETE CASCADE, neměli byste ve svých modelech používat dependent => :destroy. Může spouštět zbytečné dotazy a nemůžete počítat s tím, že v budoucnu věci nerozbije. Do souboru modelu byste měli vložit komentář, abyste zdokumentovali, že se to děje. ačkoli.

Také doporučuji udělat FK v migracích. Bylo by mnohem lepší, kdyby vaše testovací databáze měla stejná omezení jako vaše produkční databáze, což může způsobit velmi záludné chyby. Existuje plugin RedHill (redhillonrails_core), který usnadňuje migraci cizích klíčů a umožňuje výpisy schémat s omezeními FK, takže testování je mnohem jednodušší.



  1. Operátor SQL menší nebo rovno (=) pro začátečníky

  2. Jak zlepšit přesnost databáze

  3. Sníží se výkon SQLite, pokud je velikost databáze větší než 2 gigabajty?

  4. pomocí MySql.Data.MySqlClient; není funkční