KBClone - Clonar una KB


Hice un utilitario para clonar una KB en la maquina de desarrollo.

Lo que hace es copiar todos los archivos de la KB, hace un backup de la base de datos de la KB y la restaura con nuevo nombre.

También cambia el nombre interno de la KB, ajusta el archivo knowledgebase.connection y el archivo *.gxw.

Al abrir la nueva KB, tiene el mismo estado, propiedades y objetos que tenia la KB anterior, sin necesidad de hacer build all u otras tareas que hacen perder tiempo.


Para que sirve?

Para manejo de ambientes de Desarrollo  / PreProduccion y Produccion, trabajando solo en una KB.

Suponiendo que tenemos una KB de desarrollo en la cual se desarrolla y se hacen pruebas. Cuando se tiene una versión estable que puede instalarse en PreProducción, se puede clonar la KB y realizar la instalación desde la nueva KB que tiene los programas que fueron testeados.

Que ventajas tiene este clonar la KB ?
Las ventajas son que me queda una KB de desarrollo, en la cual puedo seguir desarrollando y tengo la KB con lo mismo que tengo en PREProduccion.
Si tengo que hacer algun arreglo rapido, puedo ir a la KB PRE y hacer el arreglo desde ahi.


Otro escenario que en el que lo utilizo, es cuando quiero hacer un cambio en un modelo de datos y no estoy seguro si el resultado me va a convencer o para hacer una prueba de una programación de la cual no estoy del todo seguro. 
Para eso, clono una KB que tenga todo generado sin errores y puedo empezar a trabajar en la nueva KB sin miedo de romper nada. 
Luego puedo por ejemplo comparar 

Las alternativas que hoy tenemos a esto, son:
1) Bajar una KB del server y hacer un Rebuild All 
Es buena y util, pero dependiendo del tamaño de la KB, puede llevar mucho tiempo. 
La KB me queda igual a la del Server y no a la local, lo cual puede tener algunos peligros. 


2) Crear una KB a partir de un export e import de todos los objetos
Luego hay que hacer un create database y build all, lo cual puede demorar bastante. A veces el resultado del export/import no es exactamente igual al de la KB original, pues pueden quedar tablas con campos en diferente orden y cosas del estilo. No deberia ser un gran problema, pero puede dar algunas diferencias. 

3) Crear versiones dentro de la misma KB. 
Tambien hay que hacer build all. 


Cosas a tener en cuenta. 

El tener varias KB clonadas, puede traer algunos incovenientes. Por ejemplo, todas las KB quedan apuntando a la misma base de datos (hoy no estoy cambiando eso) y al mismos directorio virtual / webapp, lo cual puede ser peligroso si no se lo maneja con cuidado. 

El utilitario estará disponible cuando publiquen en el marketplace, la nueva version de las KBTools, cosa que supongo sera la semana que viene. 




Comentarios

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.