Error al regenerar un proyecto, violacion restriccion de unicidad apex_objeto

Hola, que tal, acudo a Uds. ya que se me ha presentado un problema con un proyecto en toda 2.7.2, lo he estado desarrollando sin problemas y ahora de una version a otra cuando lo llevo a produccion el hacer el regenerar en la instancia de desarrollo del proyecto me da un error que no he podido solucionar no eliminando el proyecto ni cargando nuevamente. El error es el siguiente y desde ya muchas gracias por la ayuda.

Carga del Proyecto in

Cargando datos globales…OK
Cargando componentes…
ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_23505
[MENSAJE]: ERROR: llave duplicada viola restricci�n de unicidad �apex_objeto_dbr_uq_tabla�
DETAIL: Ya existe la llave (fuente_datos_proyecto, fuente_datos, tabla)=(in, in, in_documentacion).
[SQL EJECUTADA]: ------------------------------------------------------------
–[4002947]-- DT - in_documentacion


– apex_objeto

— INICIO Grupo de desarrollo 4
INSERT INTO apex_objeto (proyecto, objeto, anterior, identificador, reflexivo, clase_proyecto, clase, punto_montaje, subclase, subclase_archivo, objeto_categoria_proyecto, objeto_categoria, nombre, titulo, colapsable, descripcion, fuente_datos_proyecto, fuente_datos, solicitud_registrar, solicitud_obj_obs_tipo, solicitud_obj_observacion, parametro_a, parametro_b, parametro_c, parametro_d, parametro_e, parametro_f, usuario, creacion, posicion_botonera) VALUES (
‘in’, --proyecto
‘4002947’, --objeto
NULL, --anterior
NULL, --identificador
NULL, --reflexivo
‘toba’, --clase_proyecto
‘toba_datos_tabla’, --clase
‘4000004’, --punto_montaje
‘dt_in_documentacion’, --subclase
‘datos/dt_in_documentacion.php’, --subclase_archivo
NULL, --objeto_categoria_proyecto
NULL, --objeto_categoria
‘DT - in_documentacion’, --nombre
NULL, --titulo
NULL, --colapsable
NULL, --descripcion
‘in’, --fuente_datos_proyecto
‘in’, --fuente_datos
NULL, --solicitud_registrar
NULL, --solicitud_obj_obs_tipo
NULL, --solicitud_obj_observacion
NULL, --parametro_a
NULL, --parametro_b
NULL, --parametro_c
NULL, --parametro_d
NULL, --parametro_e
NULL, --parametro_f
NULL, --usuario
‘2017-02-27 01:48:11’, --creacion
NULL --posicion_botonera
);
— FIN Grupo de desarrollo 4


Hola Sebastian,
te hago una consulta, de casualidad editaste alguno de los archivos .sql de los metadatos manualmente?.. te consulto porque muchos editores dejan los archivos de backup en el mismo directorio y desgraciadamente se estan levantando, con lo cual puede ser que el error de PK que te da sea debido a eso.

Fijate si en el directorio metadatos/componentes/toba_datos_tabla existe un archivo dump_4002947.sql.bak o con algun agregado a la extension que pueda estar oculto. Si es el caso borralo e intenta cargar el proyecto nuevamente.

Otro cuestion, cuando mencionas que lo llevaste a produccion… con que pasos?.. hubo un ida y vuelta ahi, o solamente una ida hacia el entorno de produccion? usas control de versiones?

Saludos

Hola Richard, los metadatados no se tocaron, generalmente lo que hago con los proyectos es desarrollarlos en una pc y después los paso a producción, para hacer esto localmente hago

1 - toba proyecto exportar -p XX -i desarrollo
2 toba instancia exportar_local -i desarrollo

Ahi me me voy al servidor de producción y piso la carpeta de este con la que tengo local y luego hago

toba proyecto regenerar -p XX -i desarrollo

Ya lo habia ido actualizando a este proyecto como una 20 veces y de repente fallo.
Te comento que de todos modos este proyecto estaba en 2.7.2 asi que para probar instale un 2.7.6 lo cargue ahi (lo mismo que acababa de llevar al servidor, o sea el proyecto) y salio andando. Esperemos que siga asi en la proxima actualizacion jaja.
Generalmente no trabajo con versionado.
Saludos.

Hola Sebastian,

el segundo paso solamente es necesario en un servidor de produccion, en desarrollo no te agrega nada que puedas copiar a la otra maquina.

Ahi me me voy al servidor de producción y piso la carpeta de este con la que tengo local y luego hago toba proyecto regenerar -p XX -i desarrollo Ya lo habia ido actualizando a este proyecto como una 20 veces y de repente fallo.
Si fallo, es porque habia dos archivos al menos con la misma informacion, ya sea que fuera por resultado de edicion (.bak) o por la copia, digamos.. no tenes forma vos en desarrollo de meter dos registros iguales en la bd (por la misma PK), por lo que el fallo ese en produccion necesariamente es producto de una repeticion, ya que no es un tema de permisos.. sino que es directamente el objeto el que esta repetido.
Te comento que de todos modos este proyecto estaba en 2.7.2 asi que para probar instale un 2.7.6 lo cargue ahi (lo mismo que acababa de llevar al servidor, o sea el proyecto) y salio andando. Esperemos que siga asi en la proxima actualizacion jaja. Generalmente no trabajo con versionado.
Mas me cierra la posibilidad de que hubiera archivos con contenido repetido, claramente cuando copiaste de desarrollo a produccion quedo algo de la version anterior que en desarrollo se borro.. pero en produccion no, ya que incluso sobrescribiendo pisas los que coinciden de nombre ... pero no se borran los anteriores, siguen quedando sin sobreescribir. Tenes que empezar a usar un svn al menos, es la mejor forma de no volver a caer en estos problemas.

Saludos