<?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"
        xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
    <changeSet id="1" author="dratanghayra">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE art_relations;;

            -- Created temp table to store vendor_release_identifier and release_id
            CREATE TABLE `ROLLBACK-DIG-3584_vendor_release_identifier`
            SELECT release_id, vendor_release_identifier FROM releases 
            WHERE vendor_release_identifier IS NOT NULL AND 
            vendor_release_identifier != 'null' AND 
            vendor_release_identifier != '' AND
            vendor_release_identifier NOT LIKE 'G0%'
            AND LENGTH(REPLACE(vendor_release_identifier, " ", "")) &lt; 30
            AND LENGTH(REPLACE(vendor_release_identifier, "-", "")) &lt; 30;;

            -- Updated vendor_release_identifier to for all releases stored in temp table
            UPDATE releases SET vendor_release_identifier = REPLACE(REPLACE((CONCAT('G0', vendor_release_identifier)), " ", ""), "-", "")
            WHERE release_id IN (SELECT release_id FROM `ROLLBACK-DIG-3584_vendor_release_identifier`);;
        </sql>
        <rollback>
            USE art_relations;;

            -- Updated releases with old value of vendor_release_identifier stored in temp table
            UPDATE releases r 
            JOIN `ROLLBACK-DIG-3584_vendor_release_identifier` vri ON vri.release_id =  r.release_id
            SET r.vendor_release_identifier = vri.vendor_release_identifier
            WHERE r.release_id IN (SELECT release_id FROM `ROLLBACK-DIG-3584_vendor_release_identifier`);;

            DROP TABLE `ROLLBACK-DIG-3584_vendor_release_identifier`;;
        </rollback>
    </changeSet>
</databaseChangeLog>
