Aplicar personalización en otra instalación (RESPONDIDO)

Buenos tardes.

Estamos teniendo un problema para aplicar las personalizaciones de metadatos en otra instalación de desarrollo.
Tenemos un ambiente de desarrollo en el que después de hacer los cambios correspondientes, corrimos el comando toba personalizacion exportar y subimos todo a un repositorio.
Ahora estamos queriendo aplicar esos cambios en otro ambiente de desarrollo, donde tengo creados usuarios y perfiles funcionales que no están en el primero. Ahí nos surge el problema porque queremos hacer un git pull, toba personalizacion conflictos y toba personalizacion importar, pero surgen muchos conflictos irresolubles. El siguiente es un ejemplo de muchos similares:
Conflictos del archivo comp_2388.xml
Errores fatales
[F:2] Error de constraints en la tabla apex_objeto.
El error no fue reconocido por el importador.
Postgres dijo: ERROR: duplicate key value violates unique constraint “apex_objeto_pk”
DETAIL: Key (objeto, proyecto)=(2388, diaguita) already exists…
El sql conflictivo es: INSERT INTO apex_objeto (proyecto,objeto,clase_proyecto,clase,punto_montaje,nombre,fuente_datos_proyecto,fuente_datos,creacion) VALUES (‘diaguita’,‘2388’,‘toba’,‘toba_datos_tabla’,‘109000001’,‘DT - scp_financiamientos’,‘diaguita’,‘diaguita’,‘2019-09-13 11:56:33’)

scp_financiamientos es una tabla creada en la personalización.

Además, intentamos hacer un toba proyecto regenerar pero lanza el siguiente error:

ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_23503
[MENSAJE]: ERROR: insert or update on table “apex_usuario_proyecto” violates foreign key constraint “apex_usu_proy_fk_grupo_acc”
DETAIL: Key (proyecto, usuario_grupo_acc)=(diaguita, direccion_general_financiera) is not present in table “apex_usuario_grupo_acc”.
[SQL EJECUTADA]: COMMIT TRANSACTION;

direccion_general_financiera es uno de los perfiles funcionales creados en el segundo ambiente.

Quería consultarles si les parece que estamos haciendo algo mal en el procedimiento o cuál puede ser la razón de esto.

Muchas gracias

Hola Debora,

Teconsulto, por alguna razón en particular estan usando las personalizaciones con el esquema de personalización propio de colab (incluyendo el svn de colab)?

Respecto al error que estan teniendo, parecería que se debe a que estan teniendo claves duplicadas, tengo dudas también si siguen todo el procedimiento definido para le colab:
https://repositorio.siu.edu.ar/trac/diaguitadocu/wiki/2.1/RealizarPersonalizaciones/Php#Inicializarpersonalización

Y por otro lado, si en su esquema de personalización, que id_desarrollador estan utilizando para crear los metadatos, ya que si no fijan el definido para su universidad, pueden generar conflictos con otros ids que se desarrollen desde el SIU.
https://repositorio.siu.edu.ar/trac/siu/wiki/GruposDesarrollo

Les recomiendo que creen un GDS, así le pedimos información más detallada al respecto de la personalización que estan realizando.

Estamos en contacto.

Saludos,
Fernando.

En realidad no estamos usando el svn de colab. Tenemos un repositorio git propio. Sí estoy usando el id_desarrollador que me pasaron, pero cuando hice las primeras personalizaciones no lo usaba. Puede ser que ese sea el problema?

El procedimiento que estamos siguiendo es el que mencionaba antes. Yo corrí toba personalizacion iniciar y cada vez que hago cambios, corro toba personalizacion exportar. Luego subo los commits al repositorio. Todos los cambios están en la carpeta personalización, tanto el codigo php como los metadatos. Los metadatos del proyecto, de fuera de la carpeta personalización, nunca se modifican.
La otra instalación de desarrollo por ahora no está haciendo personalizaciones, y no sube nada al repositorio. Esta instalación tiene cargados usuarios, perfiles funcionales, etc. Cuando bajamos acá lo que se subió al repositorio hacemos toba personalizacion conflictos, y acá salta el problema.

El error que salta es porque está queriendo reinsertar en las tablas filas que ya están ahí. Lo que no entendemos es por qué pasa eso.

Vamos a tratar de crear un GDS, pero por ahora es difícil porque la persona que puede hacerlo no está disponible.