2011-12-20 21 views
18

Esta publicación reciente, How to use Evolutions in Play Framework 2.0?, dice que las evoluciones se aplicarán automáticamente al ejecutar Play 2.0. Probé la descarga de play-2.0-beta y el último código de git, y no veo este comportamiento. De hecho, no puedo encontrar ninguna forma de aplicar las evoluciones en el modo de producción. ¿Me estoy perdiendo de algo?Ejecutando evoluciones en Play Framework 2.0

+0

Creo que hay un malentendido acerca de la oración "las evoluciones se activan automáticamente". Esta oración está en el contexto de "Puede desactivarlas configurando evolutionplugin = disabled". Activado no significa "aplicado automáticamente". Ciertamente sufrí de este malentendido. – GreenAsJade

Respuesta

34

Agregando applyEvolutions.default=true a su application.conf permitirá evoluciones por defecto en su aplicación.

+0

Esto no parece ser necesario ... La documentación para la versión 2.0.3 (http://www.playframework.org/documentation/2.0.3/Evolutions) indica, "las evoluciones se activan automáticamente" y "Play verificará el estado de su esquema de base de datos antes de cada solicitud en modo DEV" ... A menos que lo anterior solo sea relevante en el modo 'PROD' (??). Pero la documentación no parece mencionar este parámetro de configuración en absoluto. –

+0

Esto fue necesario para Play 2.0.2, no estoy seguro acerca de 2.0.3 –

+1

Estoy usando Play 2.2.x y comenzando una aplicación con% play -DapplyEvolutions.default = true que funciona perfectamente. – Langley

3

Pruebe una de las aplicaciones de muestra de Play 20 y se le pedirá que aplique las evoluciones al inicio de la aplicación: la solicitud aparece en el navegador de la aplicación la primera vez que la inicia.

+2

Eso funciona en modo dev, pero si ejecuto las muestras en modo de producción, inmediatamente obtengo la siguiente excepción: Vaya, no puedo iniciar el servidor. play.api.db.evolutions.InvalidDatabaseRevision: ¡La base de datos 'predeterminada' necesita evolución! [Se debe ejecutar un script SQL en su base de datos.] –

+0

buen punto, parece algo que necesita implementarse en un futuro próximo. aún puede iniciarlo en dev, aplicar la evolución y luego cambiar a prod. Pero estoy de acuerdo, debería funcionar como play 1.0 –

3

A partir de RC-3, la nueva ubicación de los scripts de evoluciones está en conf/evolutions/[nombrebd] /1.sql. De lo contrario, la información anterior sigue siendo precisa.

Cuestiones relacionadas