Personalizando Localmente
Iniciando
Antes de comenzar a cambiar el proyecto recibido debemos seguir los siguientes pasos:
En el archivo PROYECTO/personalizacion/personalizacion.ini agregamos una entrada como la siguiente:
schema_personalizado=NOMBRE
.NOMBRE
es el nombre del schema que Toba utilizará como base de comparación para metadatos de las personalizaciones. Las restricciones que se imponen sobre NOMBRE son las mismas que impone Postgres sobre los nombres de schemas.Luego ejecutamos el comando:
xx@yy:~$ toba personalizacion iniciar -p PROYECTO
Este comando puede llevar unos minutos, dependiendo del tamaño del proyecto a personalizar y la versión de Toba utilizada.
Una vez completados estos dos pasos estamos listos para comenzar a introducir cambios al proyecto.
Exportando los cambios
Cuando terminamos los cambios que habíamos planeado para el proyecto es el momento de exportar los cambios. Esto se logra a través del comando:
xx@yy:~$ toba personalizacion exportar -p PROYECTO
El resultado de esta exportación se almacena en la carpeta PROYECTO/personalizacion/metadatos en formato xml. Vale aclarar que la exportación es diferencial, es decir, sólo contiene los cambios. El hecho que se haya ejecutado el comando exportar no quiere decir que no se puedan introducir más cambios, simplemente hay que ejecutar el comando nuevamente cuando se finalizan los cambios.
Importando los cambios en una nueva versión
Cuando se obtiene una nueva versión del proyecto que había sido personalizado, tenemos que exportar los cambios que habíamos realizado. Esto es, antes de comenzar el proceso hacemos:
xx@yy:~$ toba personalizacion exportar -p PROYECTO
Luego, realizamos la instalación de la nueva versión del proyecto. Indicamos que vamos a iniciar la personalización del proyecto mediante el comando que vimos anteriormente.
xx@yy:~$ toba personalizacion iniciar -p PROYECTO
Una vez iniciada la personalización copiamos la carpeta personalizacion de la versión anterior, reemplazando la que viene por defecto en la nueva versión y ejecutamos los comandos:
xx@yy:~$ toba personalizacion conflictos -p PROYECTO
xx@yy:~$ toba personalizacion importar -p PROYECTO
Con el primer comando chequearemos si existen inconvenientes para la importación correcta de la personalización, este comando dejara un archivo de log catalogando cada error como recuperable o no. Los errores recuperables, se pueden deber a una temporalidad de ejecución.. mientras que los irrecuperables requerirán intervención para subsanarlos antes de poder importar.
Con el segundo comando, efectivamente lanzamos el proceso de importación de la personalización, el mismo puede aceptar el parametro -t en caso de ser necesario. Dicho parametro fuerza a que todo el proceso se lleve a cabo en una transacción y es recomendable que se utilice de esta manera para asegurar la atomicidad del procedimiento.