viernes, 17 de julio de 2009

Reorganizaciones en diferido

Hay escenarios que requieren que la creación o reorganización de la base de datos no sean ejecutadas en vivo y en directo. Es decir que en el momento que se generan los programas de reorganización y aplicación, no se desea ejecutar la reorganización (ni tampoco la aplicación).

Son varios los escenarios, pero en general se reducen a que no se cuenta en desarrollo con el DBMS (o versión del DBMS) de producción.

Estos escenarios se habilitan, o por lo menos se facilitan enormemente, en GeneXus X Evolution 1, desde hoy.
La funcionalidad que lo habilita es una opción '-donotexecute' a agregar en las opciones de creación / reorganización de un Environment.
Notar que esta implementación permite diferir la ejecución de la reorg tanto si la generación se hace desde el IDE como si se hace en forma batch utilizando tareas MSBuild.

No debe confundirse con la property "Reorganize Server Tables" con valores [Yes|No], pues ésta hace que los programas de reorganización ni siquiera se generen.

Ambas opciones (la propiedad 'Reorganize Server Tables' y la opción '-donotexecute') logran que se sincronicen modelos de diseño y de trabajo y se genere la aplicación también sin que la base de datos esté sincronizada con el modelo; en ambas no se verifica la correcta ejecución de la reorganización y por ende en todos estos casos se difiere, no solo la ejecución, sino también el Test.
Es por esto que estas opciones, muy útiles por cierto, podrían también llevar un cartel del estilo "Úsese con moderación".

No hay comentarios: