Migraciones irreversibles

Migraciones Irreversibles

De vez en cuando usted necesitará hacer una migración irreversible (por
ejemplo, si necesita eliminar una columna de la base de datos). Cuando
esto ocurra, ¡no deje self.down vacío! Utilice “raise
IrreversibleMigration” para que el sistema sepa que los cambios en
self.up son irreversibles.

Qué quiere decir que los cambios en self.up son irreversibles?

El 30/11/06, Miguel Angel Calleja Lázaro[email protected]
escribió:> Migraciones Irreversibles

De vez en cuando usted necesitará hacer una migración irreversible (por
ejemplo, si necesita eliminar una columna de la base de datos). Cuando
esto ocurra, ¡no deje self.down vacío! Utilice “raise
IrreversibleMigration” para que el sistema sepa que los cambios en
self.up son irreversibles.

Qué quiere decir que los cambios en self.up son irreversibles?

Una migración que elimine datos, por ejemplo. ¿No?

On 11/30/06, Miguel Angel Calleja Lázaro [email protected] wrote:

Migraciones Irreversibles

De vez en cuando usted necesitará hacer una migración irreversible (por
ejemplo, si necesita eliminar una columna de la base de datos). Cuando
esto ocurra, ¡no deje self.down vacío! Utilice “raise
IrreversibleMigration” para que el sistema sepa que los cambios en
self.up son irreversibles.

Qué quiere decir que los cambios en self.up son irreversibles?

Tienes que sopesar qué cambios son irreversibles. Por ejemplo, eliminar
una
columna podría considerarse irreversible, ya que aunque la añadas en
self.down, todos los datos que pudiera haber, se perdieron al migrar.

Y de la misma manera, puede que hagas una consulta para modificar datos
y no
tengas manera de volver al anterior estado. Mismamente si borras
registros
de una tabla.

En esos casos, puedes hacer que la migración lance una excepción para
informar de que la migración no se puede revertir.

Un saludo.

Personalmente no encuentro la utilidad de generar una
excepción,quizás porque me gusta tener cierta flexibilidad yendo y volviendo con
la base de datos.

Si hago una migration para borrar datos o actualizar o lo que sea,
simplemente dejo el down en blanco y esto me permite ir y volver. Si
no, la excepción hace que todo el proceso se interrumpa.

A alguien le sirve el raise?

El Jueves, 30 de Noviembre de 2006 14:00, Damian J.
escribió:> Personalmente no encuentro la utilidad de generar una excepción,

quizás porque me gusta tener cierta flexibilidad yendo y volviendo con
la base de datos.

Si hago una migration para borrar datos o actualizar o lo que sea,
simplemente dejo el down en blanco y esto me permite ir y volver. Si
no, la excepción hace que todo el proceso se interrumpa.

A alguien le sirve el raise?

Entiendo tu postura como desarrollador, pero a lo mejor te interesa que
tus
usuarios, una vez superada una migración en particular, no vuelvan atrás
(para evitarles problemas y esas cosas).

No lo he necesitado, pero no hace daño saber ese detalle. Quien sabe si
algún día puedes echarlo en falta :wink:

Saludos.


Imobach González Sosa

Correo-e: imobachgs en banot punto net