Poner comentarios en ReorganizationScript.txt en reorg GeneXus

Esta es una sugerencia que hice en el Slack de la TERO (próxima version de GeneXus, que sera la 16).

Nadie respondió nada y hace tiempo que tiene poquisimo movimiento, por lo que me quedan dudas, si alguien lo esta leyendo en forma activa.

Voy a reportarlo por aca, para darle un poco mas de visibilidad, pues es una sugerencia que puede servirle a todos aquellos que necesitan hacer reoganizaciones de la base de datos únicamente por script.



REORGANIZACION:  En algunas instalaciones, la unica forma autorizada de hacer reorganizaciones es a traves de scripts SQL.

Con la generación de ReorganizationScript.txt se simplificó muchísimo la tarea, de generar un script que haga la reorganización de la base de datos.

Lo que quería pedir era si se podía agregar algún comentario adicional, en el caso que se necesita crear una tabla temporaria y correr el programa de conversión.

Los DBA's generalmente evitan la creación de tablas temporarias y deben traducir esa secuencia de sentencias por otras que alteran la tabla.

Por ejemplo si se achica un campo, primero ejecutan una sentencia que acorta los datos y luego hacen un alter table.

Lo que me han pedido, es si no se puede tener mas informacion en el script, sobre que atributos son los que se cambian y cual es el nuevo tipo de datos que pasan a tener.

Por ejemplo si se hace un cambio en CliId de Char(10) a Char(9) y es clave se genera algo asi como :

CREATE TABLE [GXA0068] ([CliId]  char(9) NOT NULL , [SisId]  char(2) NOT NULL )
Run conversion program for table MTSisCli
DROP TABLE [MTSisCli]
sp_rename '[GXA0068]', 'MTSisCli'
ALTER TABLE [MTSisCli] ADD PRIMARY KEY([CliId], [SisId])
CREATE NONCLUSTERED INDEX [IMTSISCLI1] ON [MTSisCli] ([SisId] )

lo que hace imposible, solo con el script entender que es lo que esta cambiando.  Esto implica tener que comparar la estructura de la tabla vieja con la tabla nueva y ver que es lo que cambia.

Lo que pido, es si se puede agregar un comentario al script que diga (es la misma informacion que esta en el Impact Analysis Report. )

/*
Table - MTSisCli
CliId - Char(9 - Previous char(10)- Take Value  MTSisCli. CliId.substring( 1, 9)
*/

De esa forma, solo con el archivo ReorganizationScript.txt, se puede adaptar y crear un Reorganization.SQL que tenga las sentencias necesarias.

Lo optimo, seria tener reorganizaciones 100% en sentencias SQL, pero lo veo como algo un poco mas lejano.


Comentarios

  1. Si la kb tiene la información de la estructura, y se establece de forma obligatoria restricciones en la base de datos.. sería interesante que genere las sentencias de desactivación y activación de constraints antes de aplicar los cambios...

    ResponderBorrar
    Respuestas
    1. Xavier, pero eso hoy lo esta haciendo.
      En que caso no te funciona?

      Borrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.