sql >> Base de Datos >  >> RDS >> Mysql

¿Debo usar ON DELETE CASCADE, :dependent => :destroy, o ambos?

No debe usar dependiente =>:destruir en sus modelos si tiene FK con ON DELETE CASCADE. Puede ejecutar consultas innecesarias y no puede contar con que no rompa las cosas en el futuro. Debe poner un comentario en su archivo de modelo para documentar que está sucediendo. aunque.

También recomiendo hacer los FKs en las migraciones. Sería mucho mejor si su base de datos de prueba tuviera las mismas restricciones que su base de datos de producción, eso puede causar errores muy furtivos. Hay un complemento de RedHill (redhillonrails_core) que facilita las claves externas en las migraciones y permite volcados de esquema con restricciones FK, por lo que la prueba es mucho más simple.