sql >> Databasteknik >  >> RDS >> Mysql

Ska jag använda ON DELETE CASCADE, :dependent => :destroy, eller båda?

Du ska inte använda dependent => :destroy i dina modeller om du har FKs med ON DELETE CASCADE. Det kan köra onödiga frågor, och du kan inte räkna med att det inte kommer att bryta saker i framtiden. Du bör lägga en kommentar i din modellfil för att dokumentera att det händer. dock.

Jag rekommenderar också att göra FKs i migrationerna. Det skulle vara mycket bättre om din testdatabas hade samma begränsningar som din produktionsdatabas, vilket kan orsaka mycket lömska buggar. Det finns ett RedHill-plugin (redhillonrails_core) som gör främmande nycklar i migrering lätt och möjliggör schemadumpar med FK-begränsningar, så att testa är mycket enklare.



  1. Hitta nästa tillgängliga ID i MySQL

  2. Finns det något sätt att konvertera alla befintliga tabelldata till UTF8-sortering?

  3. Förbättra lösenordshasningen med ett slumpmässigt salt

  4. Hantera stora poster i en Java EE-applikation