Skip to content


Migrations: problemas con dos versiones iguales

Tras la vuelta de vacaciones, estaba haciendo unas cosas en el servidor e intentaba hacer una migración a una versión determinada en un entorno, staging:

[jenaiz@barracuda current]$ rake db:migrate VERSION=3 RAILS_ENV=staging
(in /home/jenaiz/app/proyecto/releases/20080821085746)
rake aborted!
Multiple migrations have the version number 4

Lo que nos trasmite el error es que tenemos dos migrations con la misma versión, osea que dentro de la carpeta db/migrate poseemos dos ficheros cuya versión es igual, sirva como ejemplo mi caso:

004_add_column_visible_to_tag.rb
004_add_column_for_children_to_tag.rb

¿Extraño? Pues la verdad es que en mi caso ha sido porque había borrado un fichero del svn y no había actualizado bien, luego había creado otro con el mismo número de versión y distinto nombre, por lo que al desplegar en el servidor, he encontrado el problema.

Esta situación, no es extraña que se produzca, podría darse si varios desarrolladores crean una migration de forma simultánea y luego envían sus cambios al svn, si no tienen cuidado con el número de su versión, podrían coincidir; lo más probable en estos casos es que el nombre del fichero no coincida de forma exacta, pero sí la versión, por lo que al hacer update al svn o cvs no veríamos nada extraño.

Un caso similar lo plantea Scott Mitchell y un comentario le devuelve el error que habéis visto arriba. No sé porqué, pero en cuando he llegado a la parte de los dos desarrolladores, rápidamente he ido a comprobar lo que había en mi repositorio, para comprobar que el fichero que había borrado en un paso anterior se había borrado, pero no, seguía allí… colleja para mi ;) .

Para solventar el problema, Christopher J. Bottaro ha creado un plugin que corrige esto: migration_izzle. Como el bien explica mantiene un histórico en la base de datos de los scripts ejecutados, os remito a la documentación para que le echéis un vistazo, yo por mi parte no voy a tardar en probarlo.

Posted in RubyOnRails, Tips & Tricks.

Tagged with .

You might also like

La vuelta Antes de irme no avisé, pero ahora tengo algo más de tiempo. Tres semanas de vacaciones dan para muchas...
Nos vemos a la vuelta Me sabe un poco agridulce, porque creo que la última serie de post estaban rejuveneciendo el blog...
Desactivar lectura de zip por Windows Desde hace tiempo había notado que mi carpeta de downloads se estaba convirtiendo en un problema; cada...
Extraño error de Passenger por RubyGems Intentando configurar un entorno multistage en dreamhost para un proyecto personal y tras haber logrado...
Grab This Widget

0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.