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.