Hola Edmundo
El problema que estás teniendo parece provenir de que, en alguna tabla 1:N de la base de datos de uds. tienen algún registro/s que no guardan esa relación (sino que es N:M).
La versión 1.2 cuenta con un control sobre este tipo de incongruencias y, si encuentra datos incorrectos, el parche no puede activar el control.
Para resolver el problema tendrías que:
- ejecutar manualmente el script SQL de PgAdmin que el parche no logra ejecutar (Abajo te copio el script SQL a ejecutar a mano).
- Como salida del PGAdmin obtendrás el error preciso, con la indicación de cuál es la tabla de relación que contiene datos incorrectos y cuáles son los registros a corregir/eliminar.
- Corregir manualmente los datos señalados y volver a ejecutar el script SQL hasta que la ejecución termina correctamente.
- “señalar” a CMDBuild que ese parche “ha sido ya ejecutado”, sino el procedimiento de migración intentaría re-ejecutarla y se produciría un error (Abajo te copio el script SQL para hacer ésto)
- Actualizar siguiendo el procedimiento normal para hacer que se apliquen los otros parches de la release.
Query SQL a ejecutar para visualizar los errores a corregir luego manualmente:
SELECT system_patch_domainindexes();
Script para "señalar" a CMDBuild el parche como "ya ejecutado":
INSERT INTO "Patch" ("Status","IdClass","Code","Description","User") VALUES ('A','"Patch"'::regclass,'1.0.3-05','Domain cardinality constraints','system')
Por otro lado, te comento que el Martes próximo (23/3/10) liberaremos la versión 1.2.1, por lo que seguramente te conviene esperar hasta esa fecha y pasar directamente de la 1.0 a 1.2.1.
Saludos,