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.