sql >> Database teknologi >  >> RDS >> Mysql

Skal jeg bruge ON DELETE CASCADE, :dependent => :destroy eller begge dele?

Du skal ikke bruge dependent => :destroy i dine modeller, hvis du har FK'er med ON DELETE CASCADE. Det kan køre unødvendige forespørgsler, og du kan ikke regne med, at det ikke går i stykker i fremtiden. Du bør lægge en kommentar i din modelfil for at dokumentere, at det sker. dog.

Jeg anbefaler også at gøre FK'erne i migrationerne. Det ville være meget bedre, hvis din testdatabase havde de samme begrænsninger som din produktionsdatabase, hvilket kan forårsage meget luskede fejl. Der er et RedHill-plugin (redhillonrails_core), der gør fremmednøgler i migreringer nemme og muliggør skemadumps med FK-begrænsninger, så test er meget enklere.



  1. Sådan filtreres SQL-resultater i en har-mange-gennem-relation

  2. MySQL-fejlkode:1064. Du har en fejl i din SQL-syntaks

  3. OPRET tabel af datotype og brug dens standardværdi som CURRENT_DATE på MySQL

  4. Lav en sha1-hash af en række i Oracle