From 90239be31e195ecb0f94ed258ffdcc61bd7141d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Thu, 6 Nov 2025 15:49:28 +0100 Subject: [PATCH] algun cambio en las migraciones --- .../0009-add-composite-unique-txid-type.yml | 40 ++++++++++++------- .../0010-drop-unique-tx-gateway.yml | 19 ++++++--- 2 files changed, 38 insertions(+), 21 deletions(-) diff --git a/src/main/resources/db/changelog/changesets/0009-add-composite-unique-txid-type.yml b/src/main/resources/db/changelog/changesets/0009-add-composite-unique-txid-type.yml index 6217dca..c86feaa 100644 --- a/src/main/resources/db/changelog/changesets/0009-add-composite-unique-txid-type.yml +++ b/src/main/resources/db/changelog/changesets/0009-add-composite-unique-txid-type.yml @@ -1,29 +1,39 @@ databaseChangeLog: - changeSet: - id: 0009-drop-unique-refund-gateway-id + id: 0010-drop-unique-tx-gateway author: JJO - changes: - # 1️⃣ Eliminar la UNIQUE constraint sobre gateway_refund_id - - dropUniqueConstraint: - constraintName: uq_refund_gateway_id - tableName: refunds - # 2️⃣ Crear un índice normal (no único) para acelerar búsquedas por gateway_refund_id + # ✅ Solo ejecuta el changeSet si existe la UNIQUE constraint + preConditions: + - onFail: MARK_RAN + - uniqueConstraintExists: + tableName: payment_transactions + constraintName: uq_tx_gateway_txid_type + + changes: + # 1️⃣ Eliminar la UNIQUE constraint si existe + - dropUniqueConstraint: + tableName: payment_transactions + constraintName: uq_tx_gateway_txid_type + + # 2️⃣ Crear un índice normal (no único) sobre gateway_transaction_id - createIndex: - tableName: refunds - indexName: idx_refunds_gateway_refund_id + tableName: payment_transactions + indexName: idx_payment_tx_gateway_txid columns: - column: - name: gateway_refund_id + name: gateway_transaction_id rollback: # 🔙 1) Eliminar el índice normal creado en este changeSet - dropIndex: - indexName: idx_refunds_gateway_refund_id - tableName: refunds + tableName: payment_transactions + indexName: idx_payment_tx_gateway_txid + # Si tu versión de Liquibase lo soporta, puedes añadir: + # ifExists: true # 🔙 2) Restaurar la UNIQUE constraint original - addUniqueConstraint: - tableName: refunds - columnNames: gateway_refund_id - constraintName: uq_refund_gateway_id + tableName: payment_transactions + columnNames: gateway_transaction_id, type + constraintName: uq_tx_gateway_txid_type diff --git a/src/main/resources/db/changelog/changesets/0010-drop-unique-tx-gateway.yml b/src/main/resources/db/changelog/changesets/0010-drop-unique-tx-gateway.yml index d688737..9ea1356 100644 --- a/src/main/resources/db/changelog/changesets/0010-drop-unique-tx-gateway.yml +++ b/src/main/resources/db/changelog/changesets/0010-drop-unique-tx-gateway.yml @@ -2,14 +2,21 @@ databaseChangeLog: - changeSet: id: 0010-drop-unique-tx-gateway author: JJO - changes: - # 1️⃣ Eliminar la UNIQUE constraint sobre (gateway_transaction_id, type) - - dropUniqueConstraint: - constraintName: uq_tx_gateway_txid_type + + # ✅ Solo ejecuta el changeSet si existe la UNIQUE constraint + preConditions: + - onFail: MARK_RAN + - uniqueConstraintExists: tableName: payment_transactions + constraintName: uq_tx_gateway_txid_type + + changes: + # 1️⃣ Eliminar la UNIQUE constraint si existe + - dropUniqueConstraint: + tableName: payment_transactions + constraintName: uq_tx_gateway_txid_type # 2️⃣ Crear un índice normal (no único) sobre gateway_transaction_id - # para poder seguir buscando rápido por este campo - createIndex: tableName: payment_transactions indexName: idx_payment_tx_gateway_txid @@ -20,8 +27,8 @@ databaseChangeLog: rollback: # 🔙 1) Eliminar el índice normal creado en este changeSet - dropIndex: - indexName: idx_payment_tx_gateway_txid tableName: payment_transactions + indexName: idx_payment_tx_gateway_txid # 🔙 2) Restaurar la UNIQUE constraint original - addUniqueConstraint: