Ruby on Rails

Migraciones avanzadas

Migraciones complejas, reversible migrations, migraciones de datos, rollbacks, restricciones de DB vs validaciones, safe migrations

20 preguntas de entrevista·
Mid-Level
1

¿Cuál es la diferencia entre los métodos change y up/down en una migración de Rails?

Respuesta

El método change es una sintaxis simplificada introducida en Rails 3.1 que permite a Rails inferir automáticamente la operación inversa. Funciona para la mayoría de operaciones comunes como add_column o create_table. Los métodos up y down ofrecen un control explícito sobre las operaciones de aplicación y rollback, lo cual es necesario cuando Rails no puede inferir automáticamente la inversa, como durante eliminaciones de datos o transformaciones complejas.

2

¿Cómo hacer que una migración sea reversible cuando Rails no puede inferir automáticamente la operación inversa?

Respuesta

El bloque reversible permite definir explícitamente las operaciones up y down dentro de un método change. Esto es particularmente útil para operaciones como remove_column donde Rails necesita conocer el tipo y las opciones de la columna para recrearla durante un rollback. El bloque reversible ofrece la flexibilidad de up/down manteniendo la sintaxis moderna de change.

3

¿Qué comando permite revertir varias migraciones en una sola operación?

Respuesta

El comando rails db:rollback STEP=n permite revertir las últimas n migraciones ejecutadas. Por ejemplo, STEP=3 revertirá las tres últimas migraciones en orden inverso a su ejecución. Sin la opción STEP, solo se revierte la última migración. Este comando es útil para volver rápidamente a un estado anterior de la base de datos durante el desarrollo.

4

¿Por qué evitar el uso de referencias al modelo ActiveRecord en las migraciones de datos?

5

¿Cuál es la mejor práctica para realizar una migración de datos en producción sobre una tabla grande?

+17 preguntas de entrevista

Domina Ruby on Rails para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis