Error al actualizar v1.8.1 llave duplicada

Hola, buenas tardes.

Estamos queriendo actualizar a la versión v1.8.1 en los servidores de prueba.

Al momento de realizar la actualización de la base de datos con el comando:

docker run --rm
–env SUDOCU_DB_HOST=(host)
–env SUDOCU_DB_NAME=(nombre)
–env SUDOCU_DB_PORT=5432
–env SUDOCU_DB_USER=(user)
–env SUDOCU_DB_PASSWORD=(pass)
ungs/sudocu-db-instalador:1.4.17

Nos arroja error de llave duplicada en la base, cómo podemos resolver esto?

Dejo el error:

Status: Downloaded newer image for ungs/sudocu-db-instalador:1.4.17
[INFO] Processed migration 20240503211302-v1415
[INFO] Processed migration 20240802205506-v1416
[ERROR] AssertionError [ERR_ASSERTION]: ifError got unwanted exception: llave duplicada viola restricción de unicidad «id_tipo_numero_asignado_sudocu_documentos_un»
at /usr/local/lib/node_modules/db-migrate/lib/commands/on-complete.js:15:14
at tryCatcher (/usr/local/lib/node_modules/db-migrate-pg/node_modules/bluebird/js/release/util.js:16:23)
at Promise.successAdapter (/usr/local/lib/node_modules/db-migrate-pg/node_modules/bluebird/js/release/nodeify.js:22:30)
at Promise._settlePromise (/usr/local/lib/node_modules/db-migrate-pg/node_modules/bluebird/js/release/promise.js:601:21)
at Promise._settlePromiseCtx (/usr/local/lib/node_modules/db-migrate-pg/node_modules/bluebird/js/release/promise.js:641:10)
at _drainQueueStep (/usr/local/lib/node_modules/db-migrate-pg/node_modules/bluebird/js/release/async.js:97:12)
at _drainQueue (/usr/local/lib/node_modules/db-migrate-pg/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/usr/local/lib/node_modules/db-migrate-pg/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/usr/local/lib/node_modules/db-migrate-pg/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (internal/timers.js:464:21)
at Parser.parseErrorMessage (/usr/local/lib/node_modules/db-migrate-pg/node_modules/pg-protocol/dist/parser.js:283:98)
at Parser.handlePacket (/usr/local/lib/node_modules/db-migrate-pg/node_modules/pg-protocol/dist/parser.js:122:29)
at Parser.parse (/usr/local/lib/node_modules/db-migrate-pg/node_modules/pg-protocol/dist/parser.js:35:38)
at Socket. (/usr/local/lib/node_modules/db-migrate-pg/node_modules/pg-protocol/dist/index.js:11:42)
at Socket.emit (events.js:400:28)
at addChunk (internal/streams/readable.js:293:12)
at readableAddChunk (internal/streams/readable.js:267:9)
at Socket.Readable.push (internal/streams/readable.js:206:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23)

Muchas gracias

Buen día,
en esta documentación hay unos pasos que pueden ser de ayuda:

comentanos si te sirve.
Saludos.

Buenas, la primera consulta no trajo resultados así que no funcionó.

Revisando la base encontré que tenemos algunos registros en NULL en la tabla “documentos” → columna “numero_asignado” y por lo que entiendo esa query no trae los valores NULL.

Así que ntenté agregarle valores random a los campos que estaban en NULL ya que creí que el problema son esos campos, pero al ejecutar nuevamente la actualización de la base volvió a mostrar el error de llave duplicada.

Para agregar campos random usé esta consulta:

UPDATE sudocu.documentos
SET numero_asignado = concat(‘random_’, floor(random() * 10000)::text)
WHERE numero_asignado IS NULL;

Debería agregar valores con más sentido? Qué más podría probar?

Desde ya muchas gracias.

Buenas tardes, podrías enviar la base mediante una solicitud por GDS para realizar un análisis? intentaron correr el migrador en otra base de pruebas, por ejemplo copia de producción y les ocurre lo mismo?

Hola, buenas tardes. Ya hemos cargado el GDS.

Intentamos migrar en dos ambientes de prueba que tenemos y en ambos tuvimos error de duplicado. La actualización en el ambiente de producción terminó correctamente, pero seguramente porque todavía no tenemos ningún documento subido.

Gracias.

Hola Diego, ¿cómo estás?
Recibimos el GDS N° 72286.
Continuamos el soporte por ese medio.
Saludos,
Alejandro.