rd and fd product and account code update
This commit is contained in:
@@ -290,4 +290,8 @@
|
||||
<include file="parts/0276_create_current_account_tables.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0277_fix_current_account_audit_columns.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0278_add_is_mandatory_to_joint_holder.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0279_add_fd_type_and_base_interest_rate_tables.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0280_add_fixed_deposit_product_codes.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0284_remove_product_code_unique_constraints.xml" relativeToChangelogFile="true"/>
|
||||
<include file="parts/0281_update_fd_base_interest_rate_seed_data.xml" relativeToChangelogFile="true"/>
|
||||
</databaseChangeLog>
|
||||
|
||||
+300
@@ -0,0 +1,300 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
|
||||
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- 1. Add fd_type column to m_savings_product -->
|
||||
<changeSet id="0279a_add_fd_type_to_savings_product" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not><columnExists tableName="m_savings_product" columnName="fd_type"/></not>
|
||||
</preConditions>
|
||||
<addColumn tableName="m_savings_product">
|
||||
<column name="fd_type" type="VARCHAR(20)" defaultValue="SINGLE">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
</addColumn>
|
||||
</changeSet>
|
||||
|
||||
<!-- 2. Create FD base interest rate effective (version) table -->
|
||||
<changeSet id="0279b_create_fd_base_interest_rate_effective" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not><tableExists tableName="m_fd_base_interest_rate_effective"/></not>
|
||||
</preConditions>
|
||||
<createTable tableName="m_fd_base_interest_rate_effective">
|
||||
<column name="id" type="BIGINT" autoIncrement="true">
|
||||
<constraints primaryKey="true" nullable="false"/>
|
||||
</column>
|
||||
<column name="fd_type" type="VARCHAR(20)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="version_label" type="VARCHAR(100)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="effective_from_date" type="DATE">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="effective_to_date" type="DATE"/>
|
||||
<column name="is_active" type="BOOLEAN" defaultValueBoolean="true">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="remarks" type="VARCHAR(500)"/>
|
||||
<column name="created_by_id" type="BIGINT"/>
|
||||
<column name="created_date" type="DATE"/>
|
||||
</createTable>
|
||||
</changeSet>
|
||||
|
||||
<!-- 3. Create FD base interest rate slab history table -->
|
||||
<changeSet id="0279c_create_fd_base_interest_rate_slab_history" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<not><tableExists tableName="m_fd_base_interest_rate_slab_history"/></not>
|
||||
</preConditions>
|
||||
<createTable tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="id" type="BIGINT" autoIncrement="true">
|
||||
<constraints primaryKey="true" nullable="false"/>
|
||||
</column>
|
||||
<column name="effective_id" type="BIGINT">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="sr_no" type="INT">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="description" type="VARCHAR(200)"/>
|
||||
<!-- period_type_enum: 0=DAYS, 1=WEEKS, 2=MONTHS, 3=YEARS -->
|
||||
<column name="period_type_enum" type="INT" defaultValueNumeric="0">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="from_period" type="INT">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="to_period" type="INT"/>
|
||||
<column name="annual_interest_rate" type="DECIMAL(19,6)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<!-- senior_citizen_rate: additional rate for senior citizens -->
|
||||
<column name="senior_citizen_rate" type="DECIMAL(19,6)" defaultValueNumeric="0"/>
|
||||
<column name="created_date" type="DATE"/>
|
||||
</createTable>
|
||||
<addForeignKeyConstraint
|
||||
baseTableName="m_fd_base_interest_rate_slab_history"
|
||||
baseColumnNames="effective_id"
|
||||
referencedTableName="m_fd_base_interest_rate_effective"
|
||||
referencedColumnNames="id"
|
||||
constraintName="fk_fd_base_rate_slab_effective"/>
|
||||
</changeSet>
|
||||
|
||||
<!-- 4. Seed initial FD base interest rate data -->
|
||||
<changeSet id="0279d_seed_fd_base_interest_rate_single" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="0">SELECT COUNT(*) FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SINGLE'</sqlCheck>
|
||||
</preConditions>
|
||||
<!-- FD SINGLE: < 1 year, period in DAYS -->
|
||||
<insert tableName="m_fd_base_interest_rate_effective">
|
||||
<column name="fd_type" value="SINGLE"/>
|
||||
<column name="version_label" value="FD-SINGLE-V1"/>
|
||||
<column name="effective_from_date" value="2025-01-01"/>
|
||||
<column name="is_active" valueBoolean="true"/>
|
||||
<column name="remarks" value="Initial FD Single (Short Term) rates"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="0279e_seed_fd_single_slabs" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="0">SELECT COUNT(*) FROM m_fd_base_interest_rate_slab_history sh JOIN m_fd_base_interest_rate_effective e ON sh.effective_id = e.id WHERE e.fd_type = 'SINGLE'</sqlCheck>
|
||||
</preConditions>
|
||||
<!-- 1-29 days -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='SINGLE' AND version_label='FD-SINGLE-V1')"/>
|
||||
<column name="sr_no" valueNumeric="1"/>
|
||||
<column name="description" value="1 to 29 Days"/>
|
||||
<column name="period_type_enum" valueNumeric="0"/>
|
||||
<column name="from_period" valueNumeric="1"/>
|
||||
<column name="to_period" valueNumeric="29"/>
|
||||
<column name="annual_interest_rate" valueNumeric="4.50"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="5.00"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 30-89 days -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='SINGLE' AND version_label='FD-SINGLE-V1')"/>
|
||||
<column name="sr_no" valueNumeric="2"/>
|
||||
<column name="description" value="30 to 89 Days"/>
|
||||
<column name="period_type_enum" valueNumeric="0"/>
|
||||
<column name="from_period" valueNumeric="30"/>
|
||||
<column name="to_period" valueNumeric="89"/>
|
||||
<column name="annual_interest_rate" valueNumeric="5.00"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="5.50"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 90-179 days -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='SINGLE' AND version_label='FD-SINGLE-V1')"/>
|
||||
<column name="sr_no" valueNumeric="3"/>
|
||||
<column name="description" value="90 to 179 Days"/>
|
||||
<column name="period_type_enum" valueNumeric="0"/>
|
||||
<column name="from_period" valueNumeric="90"/>
|
||||
<column name="to_period" valueNumeric="179"/>
|
||||
<column name="annual_interest_rate" valueNumeric="5.50"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="6.00"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 180+ days -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='SINGLE' AND version_label='FD-SINGLE-V1')"/>
|
||||
<column name="sr_no" valueNumeric="4"/>
|
||||
<column name="description" value="180+ Days"/>
|
||||
<column name="period_type_enum" valueNumeric="0"/>
|
||||
<column name="from_period" valueNumeric="180"/>
|
||||
<column name="annual_interest_rate" valueNumeric="6.00"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="6.50"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="0279f_seed_fd_base_interest_rate_double" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="0">SELECT COUNT(*) FROM m_fd_base_interest_rate_effective WHERE fd_type = 'DOUBLE'</sqlCheck>
|
||||
</preConditions>
|
||||
<!-- FD DOUBLE: >= 1 year, period in YEARS -->
|
||||
<insert tableName="m_fd_base_interest_rate_effective">
|
||||
<column name="fd_type" value="DOUBLE"/>
|
||||
<column name="version_label" value="FD-DOUBLE-V1"/>
|
||||
<column name="effective_from_date" value="2025-01-01"/>
|
||||
<column name="is_active" valueBoolean="true"/>
|
||||
<column name="remarks" value="Initial FD Double (Long Term) rates"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="0279g_seed_fd_double_slabs" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="0">SELECT COUNT(*) FROM m_fd_base_interest_rate_slab_history sh JOIN m_fd_base_interest_rate_effective e ON sh.effective_id = e.id WHERE e.fd_type = 'DOUBLE'</sqlCheck>
|
||||
</preConditions>
|
||||
<!-- 1-2 years -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='DOUBLE' AND version_label='FD-DOUBLE-V1')"/>
|
||||
<column name="sr_no" valueNumeric="1"/>
|
||||
<column name="description" value="1 to 2 Years"/>
|
||||
<column name="period_type_enum" valueNumeric="3"/>
|
||||
<column name="from_period" valueNumeric="1"/>
|
||||
<column name="to_period" valueNumeric="2"/>
|
||||
<column name="annual_interest_rate" valueNumeric="6.50"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="7.00"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 3-5 years -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='DOUBLE' AND version_label='FD-DOUBLE-V1')"/>
|
||||
<column name="sr_no" valueNumeric="2"/>
|
||||
<column name="description" value="3 to 5 Years"/>
|
||||
<column name="period_type_enum" valueNumeric="3"/>
|
||||
<column name="from_period" valueNumeric="3"/>
|
||||
<column name="to_period" valueNumeric="5"/>
|
||||
<column name="annual_interest_rate" valueNumeric="6.75"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="7.25"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 6-10 years -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='DOUBLE' AND version_label='FD-DOUBLE-V1')"/>
|
||||
<column name="sr_no" valueNumeric="3"/>
|
||||
<column name="description" value="6 to 10 Years"/>
|
||||
<column name="period_type_enum" valueNumeric="3"/>
|
||||
<column name="from_period" valueNumeric="6"/>
|
||||
<column name="to_period" valueNumeric="10"/>
|
||||
<column name="annual_interest_rate" valueNumeric="7.00"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="7.50"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 11+ years -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='DOUBLE' AND version_label='FD-DOUBLE-V1')"/>
|
||||
<column name="sr_no" valueNumeric="4"/>
|
||||
<column name="description" value="11+ Years"/>
|
||||
<column name="period_type_enum" valueNumeric="3"/>
|
||||
<column name="from_period" valueNumeric="11"/>
|
||||
<column name="annual_interest_rate" valueNumeric="7.25"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="7.75"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="0279h_seed_fd_base_interest_rate_special" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="0">SELECT COUNT(*) FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SPECIAL'</sqlCheck>
|
||||
</preConditions>
|
||||
<!-- FD SPECIAL: monthly interest payout, period in MONTHS -->
|
||||
<insert tableName="m_fd_base_interest_rate_effective">
|
||||
<column name="fd_type" value="SPECIAL"/>
|
||||
<column name="version_label" value="FD-SPECIAL-V1"/>
|
||||
<column name="effective_from_date" value="2025-01-01"/>
|
||||
<column name="is_active" valueBoolean="true"/>
|
||||
<column name="remarks" value="Initial FD Special (Monthly Payout) rates"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="0279i_seed_fd_special_slabs" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="0">SELECT COUNT(*) FROM m_fd_base_interest_rate_slab_history sh JOIN m_fd_base_interest_rate_effective e ON sh.effective_id = e.id WHERE e.fd_type = 'SPECIAL'</sqlCheck>
|
||||
</preConditions>
|
||||
<!-- 1-12 months -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='SPECIAL' AND version_label='FD-SPECIAL-V1')"/>
|
||||
<column name="sr_no" valueNumeric="1"/>
|
||||
<column name="description" value="1 to 12 Months"/>
|
||||
<column name="period_type_enum" valueNumeric="2"/>
|
||||
<column name="from_period" valueNumeric="1"/>
|
||||
<column name="to_period" valueNumeric="12"/>
|
||||
<column name="annual_interest_rate" valueNumeric="6.00"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="6.50"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 13-24 months -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='SPECIAL' AND version_label='FD-SPECIAL-V1')"/>
|
||||
<column name="sr_no" valueNumeric="2"/>
|
||||
<column name="description" value="13 to 24 Months"/>
|
||||
<column name="period_type_enum" valueNumeric="2"/>
|
||||
<column name="from_period" valueNumeric="13"/>
|
||||
<column name="to_period" valueNumeric="24"/>
|
||||
<column name="annual_interest_rate" valueNumeric="6.50"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="7.00"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 25-60 months -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='SPECIAL' AND version_label='FD-SPECIAL-V1')"/>
|
||||
<column name="sr_no" valueNumeric="3"/>
|
||||
<column name="description" value="25 to 60 Months"/>
|
||||
<column name="period_type_enum" valueNumeric="2"/>
|
||||
<column name="from_period" valueNumeric="25"/>
|
||||
<column name="to_period" valueNumeric="60"/>
|
||||
<column name="annual_interest_rate" valueNumeric="7.00"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="7.50"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
<!-- 61+ months -->
|
||||
<insert tableName="m_fd_base_interest_rate_slab_history">
|
||||
<column name="effective_id" valueComputed="(SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type='SPECIAL' AND version_label='FD-SPECIAL-V1')"/>
|
||||
<column name="sr_no" valueNumeric="4"/>
|
||||
<column name="description" value="61+ Months"/>
|
||||
<column name="period_type_enum" valueNumeric="2"/>
|
||||
<column name="from_period" valueNumeric="61"/>
|
||||
<column name="annual_interest_rate" valueNumeric="7.25"/>
|
||||
<column name="senior_citizen_rate" valueNumeric="7.75"/>
|
||||
<column name="created_date" valueDate="2025-01-01"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<!-- FixedDepositProductAccountType code and values -->
|
||||
<changeSet id="0280a_add_fd_product_account_type_code" author="system">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<sql>
|
||||
INSERT INTO m_code (code_name, is_system_defined)
|
||||
SELECT 'FixedDepositProductAccountType', false
|
||||
WHERE NOT EXISTS (SELECT 1 FROM m_code WHERE code_name = 'FixedDepositProductAccountType');
|
||||
</sql>
|
||||
<sql>
|
||||
INSERT INTO m_code_value (code_id, code_value, order_position, is_active, is_mandatory)
|
||||
SELECT c.id, v.code_value, v.order_position, true, false
|
||||
FROM m_code c,
|
||||
(VALUES
|
||||
('Fd Account', 1)
|
||||
) AS v(code_value, order_position)
|
||||
WHERE c.code_name = 'FixedDepositProductAccountType'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM m_code_value cv
|
||||
WHERE cv.code_id = c.id AND cv.code_value = v.code_value
|
||||
);
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<!-- FixedDepositProductCustomerSegment code and values -->
|
||||
<changeSet id="0280b_add_fd_product_customer_segment_code" author="system">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<sql>
|
||||
INSERT INTO m_code (code_name, is_system_defined)
|
||||
SELECT 'FixedDepositProductCustomerSegment', false
|
||||
WHERE NOT EXISTS (SELECT 1 FROM m_code WHERE code_name = 'FixedDepositProductCustomerSegment');
|
||||
</sql>
|
||||
<sql>
|
||||
INSERT INTO m_code_value (code_id, code_value, order_position, is_active, is_mandatory)
|
||||
SELECT c.id, v.code_value, v.order_position, true, false
|
||||
FROM m_code c,
|
||||
(VALUES
|
||||
('Individual', 1),
|
||||
('Non-Individual', 2)
|
||||
) AS v(code_value, order_position)
|
||||
WHERE c.code_name = 'FixedDepositProductCustomerSegment'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM m_code_value cv
|
||||
WHERE cv.code_id = c.id AND cv.code_value = v.code_value
|
||||
);
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
|
||||
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<changeSet id="0281_update_fd_base_interest_rate_seed_data" author="fineract">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<tableExists tableName="m_fd_base_interest_rate_effective"/>
|
||||
</preConditions>
|
||||
|
||||
<sql>
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '1 to 29 Days',
|
||||
from_period = 1,
|
||||
to_period = 29
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SINGLE' AND version_label = 'FD-SINGLE-V1')
|
||||
AND sr_no = 1;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '30 to 89 Days',
|
||||
from_period = 30,
|
||||
to_period = 89
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SINGLE' AND version_label = 'FD-SINGLE-V1')
|
||||
AND sr_no = 2;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '90 to 179 Days',
|
||||
from_period = 90,
|
||||
to_period = 179
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SINGLE' AND version_label = 'FD-SINGLE-V1')
|
||||
AND sr_no = 3;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '180+ Days',
|
||||
from_period = 180,
|
||||
to_period = NULL
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SINGLE' AND version_label = 'FD-SINGLE-V1')
|
||||
AND sr_no = 4;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '1 to 2 Years',
|
||||
from_period = 1,
|
||||
to_period = 2
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'DOUBLE' AND version_label = 'FD-DOUBLE-V1')
|
||||
AND sr_no = 1;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '3 to 5 Years',
|
||||
from_period = 3,
|
||||
to_period = 5
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'DOUBLE' AND version_label = 'FD-DOUBLE-V1')
|
||||
AND sr_no = 2;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '6 to 10 Years',
|
||||
from_period = 6,
|
||||
to_period = 10
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'DOUBLE' AND version_label = 'FD-DOUBLE-V1')
|
||||
AND sr_no = 3;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '11+ Years',
|
||||
from_period = 11,
|
||||
to_period = NULL
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'DOUBLE' AND version_label = 'FD-DOUBLE-V1')
|
||||
AND sr_no = 4;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '1 to 12 Months',
|
||||
from_period = 1,
|
||||
to_period = 12
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SPECIAL' AND version_label = 'FD-SPECIAL-V1')
|
||||
AND sr_no = 1;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '13 to 24 Months',
|
||||
from_period = 13,
|
||||
to_period = 24
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SPECIAL' AND version_label = 'FD-SPECIAL-V1')
|
||||
AND sr_no = 2;
|
||||
|
||||
UPDATE m_fd_base_interest_rate_slab_history
|
||||
SET description = '25 to 60 Months',
|
||||
from_period = 25,
|
||||
to_period = 60
|
||||
WHERE effective_id = (SELECT id FROM m_fd_base_interest_rate_effective WHERE fd_type = 'SPECIAL' AND version_label = 'FD-SPECIAL-V1')
|
||||
AND sr_no = 3;
|
||||
|
||||
INSERT INTO m_fd_base_interest_rate_slab_history
|
||||
(effective_id, sr_no, description, period_type_enum, from_period, to_period, annual_interest_rate, senior_citizen_rate, created_date)
|
||||
SELECT e.id, 4, '61+ Months', 2, 61, NULL, 7.250000, 7.750000, CURRENT_DATE
|
||||
FROM m_fd_base_interest_rate_effective e
|
||||
WHERE e.fd_type = 'SPECIAL' AND e.version_label = 'FD-SPECIAL-V1'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM m_fd_base_interest_rate_slab_history sh
|
||||
WHERE sh.effective_id = e.id
|
||||
AND sh.sr_no = 4
|
||||
);
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
|
||||
|
||||
<changeSet id="0284_remove_product_code_unique_constraints" author="system">
|
||||
<!-- For Savings/RD/FD products -->
|
||||
<dropUniqueConstraint tableName="m_savings_product" constraintName="m_savings_product_product_code_key"/>
|
||||
|
||||
<!-- For Current products -->
|
||||
<dropUniqueConstraint tableName="m_current_product" constraintName="cp_unq_product_code"/>
|
||||
|
||||
<!-- Set existing empty or blank product_codes to NULL to avoid future issues -->
|
||||
<update tableName="m_savings_product">
|
||||
<column name="product_code" valueComputed="NULL"/>
|
||||
<where>product_code = '' OR product_code IS NULL</where>
|
||||
</update>
|
||||
|
||||
<update tableName="m_current_product">
|
||||
<column name="product_code" valueComputed="NULL"/>
|
||||
<where>product_code = '' OR product_code IS NULL</where>
|
||||
</update>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
Reference in New Issue
Block a user