Update parcial de objetos desde GXServer

Cuando se trabaja con KB grandes asociadas a GXServer, en algunas oportunidades hay que hacer update de miles de objetos. Esto es común, en las migraciones o cambios grandes, cuando hay necesidad de cambiar muchos objetos en forma masiva o también cuando la KB no se actualiza por periodos prolongados, como puede ser el regreso de las vacaciones.

La actualización de los objetos, no siempre termina bien, y cuando son muchos el problema se agrava.

Es común que se quiten todas las referencias a un objeto y se borre, pero cuando se baja los cambios, intenta hacer primero el borrado y da errores que aun tiene referencias y no puedo borrarlo.
Esto se soluciona actualizando primero las actualizaciones y luego los borrados de objetos.

Otro problema se da, con el PREVIEW pues consume mas memoria que el Update, por lo que es común que de problemas de OutOfMemory, cuando hay muchos objetos para actualizar, haciendo que los updates cancelen y tengamos que repetir muchas veces la operación.

También da problemas, cuando se renombra un objeto y se pone el nombre de otro objeto que se borro.
Esto nos paso varias veces en la migracion de 9.0 a la X, cuando para mantener la nombres de los web services que publicamos, tenemos que sacarle la letra P de los procedimientos SOAP.

Una forma  que no conocía de actualizar de forma parcial que no consume mucha memoria es hacer una  selección de los objetos que quiero actualizar (por ejemplo, todos los procedures) y esto se logra con el boton CHANGE en el dialogo del UPDATE.


De esta forma, se puede hacer mas llevadero la aburrida tarea de actualizar los objetos.

Si los que desarrollan GXServer leen esto, estaria bueno contar con una funcionalidad, que me permita bajar todo lo que tengo en la KB del server sobre mi KB pasandole por arriba a todo, pero manteniendo el mismo nombre, los directorios de modelo, la base de datos, etc.
Es hacer un create KB sobre una KB ya existente. Encontre que ahora se puede hacer el Create KB from server, sobre una base de datos existente, pero no logre hacerlo sobre una KB que ya existe.


Comentarios

Entradas más populares de este blog

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

Aplicación monolítica o distribuida?

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