Files
velocity-pay-springboot/src/main/resources/liquibase-diff-changeLog.xml
2026-06-24 00:30:07 +02:00

27 lines
1.8 KiB
XML

<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:pro="http://www.liquibase.org/xml/ns/pro" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/pro http://www.liquibase.org/xml/ns/pro/liquibase-pro-latest.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
<changeSet author="khoza" id="convert-party-type-to-string">
<comment>Convert party_type column from integer ordinal to string enum values to match @Enumerated(EnumType.STRING) in Transaction.java</comment>
<!-- Add a temporary VARCHAR column -->
<addColumn tableName="transaction">
<column name="party_type_str" type="VARCHAR(20)">
<constraints nullable="true"/>
</column>
</addColumn>
<!-- Convert existing ordinal integer values (0=INDIVIDUAL, 1=GROUP, 2=BATCH) to strings -->
<sql>
UPDATE transaction SET party_type_str = 'INDIVIDUAL' WHERE party_type = 0 OR party_type = '0';
UPDATE transaction SET party_type_str = 'GROUP' WHERE party_type = 1 OR party_type = '1';
UPDATE transaction SET party_type_str = 'BATCH' WHERE party_type = 2 OR party_type = '2';
</sql>
<!-- Drop old integer column -->
<dropColumn tableName="transaction" columnName="party_type"/>
<!-- Rename temp column to original name -->
<renameColumn tableName="transaction" oldColumnName="party_type_str" newColumnName="party_type"/>
</changeSet>
</databaseChangeLog>