Anda tidak boleh menggunakan depend => :destroy dalam model Anda jika Anda memiliki FK dengan ON DELETE CASCADE. Itu dapat menjalankan kueri yang tidak perlu, dan Anda tidak dapat mengandalkannya untuk tidak merusak hal-hal di masa mendatang. Anda harus memberikan komentar di file model Anda untuk mendokumentasikan bahwa itu terjadi. sekalipun.
Saya juga merekomendasikan melakukan FK dalam migrasi. Akan jauh lebih baik jika database pengujian Anda memiliki kendala yang sama dengan database produksi Anda, yang dapat menyebabkan bug yang sangat licik. Ada plugin RedHill (redhillonrails_core) yang membuat kunci asing dalam migrasi menjadi mudah, dan memungkinkan pembuangan skema dengan batasan FK, jadi pengujian jauh lebih sederhana.