Mysql
 sql >> Base de données >  >> RDS >> Mysql

Dois-je utiliser ON DELETE CASCADE, :dependent => :destroy, ou les deux ?

Vous ne devriez pas utiliser dependance => :destroy dans vos modèles si vous avez des FK avec ON DELETE CASCADE. Il peut exécuter des requêtes inutiles et vous ne pouvez pas compter sur lui pour ne pas casser les choses à l'avenir. Vous devriez mettre un commentaire dans votre fichier de modèle pour documenter que cela se produit. cependant.

Je recommande également de faire les FK dans les migrations. Ce serait bien mieux si votre base de données de test avait les mêmes contraintes que votre base de données de production, ce qui peut provoquer des bogues très sournois. Il existe un plugin RedHill (redhillonrails_core) qui facilite les clés étrangères dans les migrations et permet les vidages de schéma avec des contraintes FK, donc les tests sont beaucoup plus simples.