Cómo limpiar archivos de migración antiguos en Rails
A medida que tu aplicación Rails crece, también lo hace tu carpeta db/migrate. Después de años de desarrollo, podrías tener cientos de archivos de migración que ya no son relevantes.
El Problema
Las migraciones antiguas pueden causar problemas:
- Ralentizan
rails db:migrateen configuraciones nuevas - Confunden a los nuevos desarrolladores
- Pueden hacer referencia a modelos o columnas que ya no existen
La Solución
Rails proporciona una forma de consolidar migraciones:
- Asegúrate de que tu schema esté actualizado
rails db:migrate
- Verifica que tu schema.rb o structure.sql sea correcto
Comprueba que db/schema.rb represente con precisión tu base de datos actual.
- Elimina los archivos de migración antiguos
Puedes eliminar de forma segura las migraciones que se han ejecutado en todos los entornos:
rm db/migrate/2020*.rb
rm db/migrate/2021*.rb
- Actualiza la versión del schema
Si es necesario, actualiza la versión del schema en tu schema.rb.
Mejores Prácticas
- Solo elimina migraciones más antiguas que tu backup de producción más antiguo
- Asegúrate de que todos los entornos hayan ejecutado las migraciones
- Considera crear una migración “consolidada” para documentación
Esto mantiene tu base de código limpia mientras conservas un historial claro de la base de datos.