2012-04-09 6 views
20

Esta pregunta puede parecer estúpida, pero no puedo encontrar ninguna instrucción sobre cómo revertir una evolución en Play 2.0. Google solo encuentra páginas que dicen que la sección "Downs" de un archivo de evolución se usa para eso y eso es todo. Cualquier puntero o instrucciones serán apreciados.Cambiando una evolución de vuelta

+0

¿Usted ha visto este documento? http://www.playframework.org/documentation/2.0/Evolutions –

+5

Sí, lo he leído, pero no dice una palabra acerca de revertir una evolución, usando la sección 'Downs!'. Puede que me esté perdiendo algo, pero realmente, el único tema remotamente relevante se menciona en el último párrafo de la nota, donde dice "En el modo de desarrollo, sin embargo, a menudo es más simple simplemente arruinar tu base de datos de desarrollo y volver a aplicar todas las evoluciones desde el principio". . Por favor dime si estoy equivocado. – noncom

Respuesta

19

La pieza Downs se usa principalmente para revertir una Evolución cuando la secuencia de comandos ha cambiado. Es decir, tiene un proyecto con 2.sql aplicado a la base de datos y luego, debido a una fusión, 2.sql se modifica en la fuente. Play ejecutará Downs en la versión anterior y luego Ups en el nuevo 2.sql para garantizar que la base de datos esté sincronizada con la base de código.

Por lo que yo sé que no hay manera de accionar Downs por sí mismo, ya que el propósito de una evolución es preparar la base de datos para trabajar con su código, y aplicando sólo una Downs paso sería dejar la aplicación en un estado inconsistente con muchos errores potenciales que surgen.

Si realmente necesita revertir algo, sería una nueva Evolución (3.sql) donde Ups haría los cambios necesarios.

+2

¿Cuál es el propósito de la sección '# ---! Downs' en las evoluciones? – tuxdna

Cuestiones relacionadas