Update client KYC and AML changes
Fineract Build & Cucumber tests (without E2E tests) / verify (main, cucumber) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (progressive-loan, build-progressive-loan) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 8 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 9 of 10) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MariaDB / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - MySQL / test (test-core-5) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-1) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-2) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-3) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-4) (push) Canceled after 0s
Fineract Cargo & Unit- & Integration tests - PostgreSQL / test (test-core-5) (push) Canceled after 0s
Fineract Build & Cucumber tests (without E2E tests) / verify (main, build-core) (push) Canceled after 0s
Fineract Docker Builds / build (false, docker-compose-postgresql.yml, postgresql) (push) Canceled after 0s
Fineract Docker Builds / build (true, docker-compose.yml, mariadb) (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 1 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 10 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 2 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 3 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 4 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 5 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 6 of 10) (push) Canceled after 0s
Fineract E2E Tests / E2E Tests (Shard 7 of 10) (push) Canceled after 0s
Fineract Liquibase Only mode - PostgreSQL / test (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with ActiveMQ (push) Canceled after 0s
Fineract Messaging Smoke Tests / Smoke Test with Kafka (push) Canceled after 0s

This commit is contained in:
Anshul Rathore
2026-08-14 12:54:43 +05:30
parent a8ca7dd948
commit a2fa8688ae
6 changed files with 101 additions and 47 deletions
@@ -22,26 +22,47 @@
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
<!-- 1. Rename table m_savings_product_temp to m_saving_product_temp -->
<!-- Guard also checks the destination does NOT already exist: on a fresh DB, changeset 2026
creates m_saving_product_temp directly, so both tables co-exist when this runs and the
rename would fail with "relation already exists". -->
<changeSet author="fineract" id="2028-1">
<preConditions onFail="MARK_RAN">
<tableExists tableName="m_savings_product_temp" />
<and>
<tableExists tableName="m_savings_product_temp" />
<not>
<tableExists tableName="m_saving_product_temp" />
</not>
</and>
</preConditions>
<renameTable oldTableName="m_savings_product_temp" newTableName="m_saving_product_temp" />
</changeSet>
<!-- 2. Recreate unique constraint on pending_lock_key if needed -->
<!-- Only applies when 2028-1 actually performed the rename (old-path DB). On a fresh DB
2026 creates m_saving_product_temp with constraint spt_unq_pending_lock_key (different
name), so sp_temp_unq_pending_lock_key does not exist and this DROP would fail.
Guard on maker_id: if maker_id still exists the rename path ran; if not, skip. -->
<changeSet author="fineract" id="2028-2">
<preConditions onFail="MARK_RAN">
<tableExists tableName="m_saving_product_temp" />
<and>
<tableExists tableName="m_saving_product_temp" />
<columnExists tableName="m_saving_product_temp" columnName="maker_id" />
</and>
</preConditions>
<dropUniqueConstraint tableName="m_saving_product_temp" constraintName="sp_temp_unq_pending_lock_key" />
<addUniqueConstraint tableName="m_saving_product_temp" columnNames="pending_lock_key" constraintName="sp_temp_unq_pending_lock_key" />
</changeSet>
<!-- 3. Rename columns to match exact user comparative list names -->
<!-- Only applies on old-path DBs where the rename ran. Guard on maker_id: present means
old columns still need renaming; absent means 2026 already created the table with
the final names and this changeset must be MARK_RAN'd. -->
<changeSet author="fineract" id="2028-rename-core-columns">
<preConditions onFail="MARK_RAN">
<tableExists tableName="m_saving_product_temp" />
<and>
<tableExists tableName="m_saving_product_temp" />
<columnExists tableName="m_saving_product_temp" columnName="maker_id" />
</and>
</preConditions>
<!-- Auditing -->
@@ -74,9 +95,16 @@
</changeSet>
<!-- 4. Add the completely new columns to m_saving_product_temp -->
<!-- On a fresh DB, 2026 creates m_saving_product_temp with all these columns already,
so adding them again fails with "column already exists". Guard skips cleanly. -->
<changeSet author="fineract" id="2028-add-missing-columns">
<preConditions onFail="MARK_RAN">
<tableExists tableName="m_saving_product_temp" />
<and>
<tableExists tableName="m_saving_product_temp" />
<not>
<columnExists tableName="m_saving_product_temp" columnName="deposit_type_enum" />
</not>
</and>
</preConditions>
<addColumn tableName="m_saving_product_temp">
<!-- If column does not already exist, it will be added. Guard is implicit via preCondition or Liquibase will skip. -->