Sé que esto probablemente esté en Internet en algún lugar, pero no puedo encontrar la respuesta aquí en Stackoverflow, así que pensé que podría aumentar un poco la base de conocimientos aquí.
Soy un novato en Ruby and Rails, pero mi empresa está invirtiendo bastante en eso, así que estoy tratando de conocerlo con un poco más de detalle.
Ha sido difícil para mí cambiar mi forma de pensar para diseñar una aplicación desde el "modelo" en lugar de desde la base de datos, así que estoy tratando de averiguar cómo haría todo el trabajo de diseño que he realizado clásicamente en la base de datos en el En su lugar, modelo de rieles.
Entonces, la tarea más reciente que me he encomendado es descubrir cómo configurar un modelo de base de datos Rails para realizar eliminaciones en cascada. ¿Hay una manera fácil de hacer esto? ¿O tendría que ir a MySql y configurar esto?
fuente
:delete_all
y:destroy
para esto. Ambos harán que las membresías secundarias (1 nivel para eliminar [cita requerida] yn
para destruir (si sus hijos tienen destrucciones dependientes)) se eliminen de la base de datos, pero:destroy
crearán una instancia de cada objeto secundario y ejecutarán las devoluciones de llamada primero, mientras:delete_all
que ejecutarán directamente una Sentencia SQL DELETE en la base de datos.:destroy
es más lento debido a eso, pero le permite tener devoluciones de llamada cuando se destruye un registro. Eludir rieles en un extremo y potencial instanciación n ^ x en el otro.