El (cada vez menos) infierno de las migraciones
Las migraciones en Rails son un concepto muy insteresante en teoría. Y digo en teoría, porque en la práctica representan bastantes quebraderos de cabeza a la hora de trabajar en equipo.
Sin embargo, parece que cada vez van apareciendo pequeñas mejoras (que sin ser revsiones profundas del concepto) convierten este recurso en algo más usable.
Muy interesante me parece una de las últimas cosas que he leido en la documentación, de casualidad, referente a uno de los cambios a partir de la versión de 2.1 de Rails:
Starting with Rails 2.1, the schema_info table is (automatically) replaced by the schema_migrations table, which contains the version numbers of all the migrations applied.
As a result, it is now possible to add migration files that are numbered lower than the current schema version: when migrating up, those never-applied “interleaved” migrations will be automatically applied, and when migrating down, never-applied “interleaved” migrations will be skipped.
Así que ahora es posible trabajar con migraciones sin tener que preocuparte “tanto” por tener al resto del equipo informado.
Aun así, sigo esperando/buscando el sistema definitivo que permita una sincronización transparente del estado de las bases de datos entre los miebros del equipo de desarrollo, de la misma forma que ocurre con el resto del código.