<?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="31" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_release_dms_restriction_2
                SELECT r.* FROM release_dms_restriction r
                    INNER JOIN customer_master c ON c.customer_id=r.dms_customer_id AND c.territory IN (192,195);;

            INSERT IGNORE INTO release_dms_restriction (upc, dms_customer_id, release_id)
                SELECT r.upc, cm2.customer_id, r.release_id
                FROM release_dms_restriction r
                    INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_customer_id AND cm1.territory=195
                    INNER JOIN customer_master cm2 ON cm2.customer_master_master_id=cm1.customer_master_master_id AND cm2.territory=192;;

            DELETE r.* FROM release_dms_restriction r
                INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_customer_id AND cm1.territory=195;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE r.* FROM release_dms_restriction r
                    INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_customer_id AND cm1.territory IN (192,195);;

                INSERT INTO release_dms_restriction
                    SELECT * FROM vc44_release_dms_restriction_2;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="32" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_release_exclusive_2
                SELECT r.* FROM release_exclusive r
                INNER JOIN customer_master c ON c.customer_id=r.dms_customer_id AND c.territory IN (192,195);;

            INSERT IGNORE INTO release_exclusive (upc, dms_customer_id, sale_start_date, release_id)
                SELECT r.upc, cm2.customer_id, r.sale_start_date, r.release_id
                FROM release_exclusive r
                    INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_customer_id AND cm1.territory=195
                    INNER JOIN customer_master cm2 ON cm2.customer_master_master_id=cm1.customer_master_master_id AND cm2.territory=192;;

            DELETE r.* FROM release_exclusive r
                INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_customer_id AND cm1.territory=195;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE r.* FROM release_exclusive r
                    INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_customer_id AND cm1.territory IN (192,195);;
                
                INSERT INTO release_exclusive
                    SELECT * FROM vc44_release_exclusive_2;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="33" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_subaccount_dms_restriction_2
                SELECT r.* FROM subaccount_dms_restriction r
                    INNER JOIN customer_master c ON c.customer_id=r.dms_id AND c.territory IN (192,195);;

            INSERT IGNORE INTO subaccount_dms_restriction (dms_id, updated_by, subaccount_id)
                SELECT cm2.customer_id, r.updated_by, r.subaccount_id
                FROM subaccount_dms_restriction r
                    INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_id AND cm1.territory=195
                    INNER JOIN customer_master cm2 ON cm2.customer_master_master_id=cm1.customer_master_master_id AND cm2.territory=192;;

            DELETE r.* FROM subaccount_dms_restriction r
                INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_id AND cm1.territory=195;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE r.* FROM subaccount_dms_restriction r
                    INNER JOIN customer_master cm1 ON cm1.customer_id=r.dms_id AND cm1.territory IN (192,195);;
            
                INSERT INTO subaccount_dms_restriction
                    SELECT * FROM vc44_subaccount_dms_restriction_2;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="34" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_encoding_order_detail_dms_2
                SELECT e.* FROM encoding_order_detail_dms e
                    INNER JOIN customer_master c ON c.customer_id=e.dms_customer_id AND c.territory IN (192,195);;

            INSERT IGNORE INTO encoding_order_detail_dms (encoding_order_detail_id, dms_customer_id)
                SELECT e.encoding_order_detail_id, cm2.customer_id
                FROM encoding_order_detail_dms e
                    INNER JOIN customer_master cm1 ON cm1.customer_id=e.dms_customer_id AND cm1.territory=195
                    INNER JOIN customer_master cm2 ON cm2.customer_master_master_id=cm1.customer_master_master_id AND cm2.territory=192;;

            DELETE e.* FROM encoding_order_detail_dms e
                INNER JOIN customer_master cm1 ON cm1.customer_id=e.dms_customer_id AND cm1.territory=195;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE e.* FROM encoding_order_detail_dms e
                    INNER JOIN customer_master cm1 ON cm1.customer_id=e.dms_customer_id AND cm1.territory IN (192,195);;
                
                INSERT INTO encoding_order_detail_dms
                    SELECT * FROM vc44_encoding_order_detail_dms_2;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="35" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_dms_deletions_2
                SELECT d.* FROM dms_deletions d
                    INNER JOIN customer_master c ON c.customer_id=d.dms_customer_id AND c.territory IN (192,195);;

            INSERT IGNORE INTO dms_deletions (dms_customer_id, takedown_date, upc, request_method)
                SELECT cm2.customer_id, d.takedown_date, d.upc, d.request_method
                FROM dms_deletions d
                    INNER JOIN customer_master cm1 ON cm1.customer_id=d.dms_customer_id AND cm1.territory=195
                    INNER JOIN customer_master cm2 ON cm2.customer_master_master_id=cm1.customer_master_master_id AND cm2.territory=192;;

            DELETE d.* FROM dms_deletions d
                INNER JOIN customer_master cm1 ON cm1.customer_id=d.dms_customer_id AND cm1.territory=195;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE d.* FROM dms_deletions d
                    INNER JOIN customer_master cm1 ON cm1.customer_id=d.dms_customer_id AND cm1.territory IN (192,195);;
                
                INSERT INTO dms_deletions
                    SELECT * FROM vc44_dms_deletions_2;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="36" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_release_territory_restriction_2
                SELECT r.* FROM release_territory_restriction r WHERE r.country_id IN (192,195);;

            INSERT IGNORE INTO release_territory_restriction (upc, country_id, release_id)
                SELECT upc, 192, release_id FROM release_territory_restriction WHERE country_id=195;;

            DELETE FROM release_territory_restriction WHERE country_id=195;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE FROM release_territory_restriction WHERE country_id IN (192,195);;
                
                INSERT INTO release_territory_restriction
                    SELECT * FROM vc44_release_territory_restriction_2;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="37" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_subaccount_territory_restriction_2
                SELECT r.* FROM subaccount_territory_restriction r WHERE r.country_id IN (192,195);;

            INSERT IGNORE INTO subaccount_territory_restriction (country_id, last_updated, updated_by, subaccount_id)
                SELECT 192, last_updated, updated_by, subaccount_id FROM subaccount_territory_restriction WHERE country_id=195;;

            DELETE FROM subaccount_territory_restriction WHERE country_id=195;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE FROM subaccount_territory_restriction WHERE country_id IN (192,195);;

                INSERT INTO subaccount_territory_restriction
                    SELECT * FROM vc44_subaccount_territory_restriction_2;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="38" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            UPDATE pitch SET dms_customer_id=15835 WHERE pitch_id=6722;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                UPDATE pitch SET dms_customer_id=15834 WHERE pitch_id=6722;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="39" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_dig_sales_2
                SELECT d.* FROM dig_sales d
                    INNER JOIN customer_master c ON c.customer_id=d.dms_customer_id AND c.territory IN (192,195);;

            UPDATE dig_sales SET dms_customer_id=4271 WHERE dms_customer_id=4270;;
            UPDATE dig_sales SET dms_customer_id=8149 WHERE dms_customer_id=8148;;
            UPDATE dig_sales SET dms_customer_id=9433 WHERE dms_customer_id=9404;;
            UPDATE dig_sales SET dms_customer_id=10616 WHERE dms_customer_id=10615;;
            UPDATE dig_sales SET dms_customer_id=11620 WHERE dms_customer_id=11619;;
            UPDATE dig_sales SET dms_customer_id=11864 WHERE dms_customer_id=11863;;
            UPDATE dig_sales SET dms_customer_id=15102 WHERE dms_customer_id=15101;;
            UPDATE dig_sales SET dms_customer_id=18068 WHERE dms_customer_id=18067;;
            UPDATE dig_sales SET dms_customer_id=18630 WHERE dms_customer_id=18629;;
            UPDATE dig_sales SET dms_customer_id=27347 WHERE dms_customer_id=27346;;
            UPDATE dig_sales SET dms_customer_id=29451 WHERE dms_customer_id=29450;;
            UPDATE dig_sales SET dms_customer_id=33043 WHERE dms_customer_id=33042;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE d.* FROM dig_sales d
                    INNER JOIN customer_master c ON c.customer_id=d.dms_customer_id AND c.territory IN (192,195);;
            
                INSERT INTO dig_sales
                    SELECT * FROM vc44_dig_sales_2;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="40" author="csmall">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            CREATE TABLE vc44_customer_master_2
                SELECT c.* FROM customer_master c WHERE c.territory IN (195);;

            DELETE FROM customer_master WHERE territory = 195;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                INSERT INTO customer_master
                    SELECT * FROM vc44_customer_master_2;;
            </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
