<?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="rpapat">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            DROP TABLE  IF EXISTS `ROLLBACK-artist_info_25901`;;
            CREATE TABLE `ROLLBACK-artist_info_25901`
            SELECT a.* FROM artist_info a 
            INNER JOIN releases r ON r.artist_id = a.artist_id
            INNER JOIN distribution_format df ON df.distribution_format_id = r.distribution_format_id
            WHERE a.vendor_id = 25901
            AND df.context_type = 'physical'
            GROUP BY a.artist_id;;

            UPDATE artist_info a
            INNER JOIN `ROLLBACK-artist_info_25901` rb ON rb.artist_id = a.artist_id AND a.vendor_id = 25901
            SET a.vendor_id = 26106;;
        </sql>
        <rollback>
            UPDATE artist_info a
            INNER JOIN `ROLLBACK-artist_info_25901` rb ON rb.artist_id = a.artist_id AND a.vendor_id = 26106
            SET a.vendor_id = 25901;;    

            DROP TABLE `ROLLBACK-artist_info_25901`;;
        </rollback>
    </changeSet>
    <changeSet id="2" author="rpapat">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            DROP TABLE  IF EXISTS `ROLLBACK-project_25901`;;
            CREATE TABLE `ROLLBACK-project_25901`
            SELECT p.* FROM project p
            INNER JOIN releases r ON r.project_id = p.project_id
            INNER JOIN distribution_format df ON df.distribution_format_id = r.distribution_format_id
            WHERE p.vendor_id = 25901
            AND df.context_type = 'physical'
            GROUP BY p.project_id;;

            UPDATE project p
            INNER JOIN `ROLLBACK-project_25901` rb ON rb.project_id = p.project_id AND p.vendor_id = 25901
            SET p.vendor_id = 26106;;    
        </sql>
        <rollback>
            UPDATE project p
            INNER JOIN `ROLLBACK-project_25901` rb ON rb.project_id = p.project_id AND p.vendor_id = 26106
            SET p.vendor_id = 25901;;

            DROP TABLE `ROLLBACK-project_25901`;;
        </rollback>
    </changeSet>
</databaseChangeLog>
