<?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="pinfieldharm">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_release_dms_master_restriction;;
            ]]>
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_release_dms_master_restriction;;

                CREATE TRIGGER after_insert_release_dms_master_restriction AFTER INSERT ON release_dms_master_restriction 
                FOR EACH ROW
                BEGIN
                    INSERT IGNORE INTO art_relations.carveout_change_release 
                    SET 
                        release_id = NEW.release_id, 
                        date_added = NOW(), 
                        day_added = CURRENT_DATE(), 
                        hour_of_day = HOUR(NOW()), 
                        minute_of_day = MINUTE(NOW());
                END
            ]]>
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="2" author="pinfieldharm">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_release_dms_restriction;;
            ]]>
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_release_dms_restriction;;

                CREATE TRIGGER after_insert_release_dms_restriction AFTER INSERT ON release_dms_restriction 
                FOR EACH ROW
                BEGIN
                    INSERT IGNORE INTO art_relations.carveout_change_release 
                    SET 
                        release_id = NEW.release_id, 
                        date_added = NOW(), 
                        day_added = CURRENT_DATE(), 
                        hour_of_day = HOUR(NOW()), 
                        minute_of_day = MINUTE(NOW());
                END
            ]]>
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="3" author="pinfieldharm">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_release_territory_restriction;;
            ]]>
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_release_territory_restriction;;

                CREATE TRIGGER after_insert_release_territory_restriction AFTER INSERT ON release_territory_restriction
                FOR EACH ROW
                BEGIN
                    INSERT IGNORE INTO art_relations.carveout_change_release 
                    SET 
                        release_id = NEW.release_id, 
                        date_added = NOW(), 
                        day_added = CURRENT_DATE(), 
                        hour_of_day = HOUR(NOW()), 
                        minute_of_day = MINUTE(NOW());
                    END
            ]]>
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="4" author="pinfieldharm">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_subaccount_dms_master_restriction;;
            ]]>
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_subaccount_dms_master_restriction;;

                CREATE TRIGGER after_insert_subaccount_dms_master_restriction AFTER INSERT ON subaccount_dms_master_restriction
                FOR EACH ROW
                BEGIN
                    INSERT IGNORE INTO art_relations.carveout_change_subaccount 
                    SET 
                        subaccount_id = NEW.subaccount_id, 
                        date_added = NOW(), 
                        day_added = CURRENT_DATE(), 
                        hour_of_day = HOUR(NOW()), 
                        minute_of_day = MINUTE(NOW());
                    END
            ]]>
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="5" author="pinfieldharm">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_subaccount_dms_restriction;;
            ]]>
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_subaccount_dms_restriction;;

                CREATE TRIGGER after_insert_subaccount_dms_restriction AFTER INSERT ON subaccount_dms_restriction
                FOR EACH ROW
                BEGIN
                    INSERT IGNORE INTO art_relations.carveout_change_subaccount 
                    SET 
                        subaccount_id = NEW.subaccount_id, 
                        date_added = NOW(), 
                        day_added = CURRENT_DATE(), 
                        hour_of_day = HOUR(NOW()), 
                        minute_of_day = MINUTE(NOW());
                    END
            ]]>
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="6" author="pinfieldharm">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_subaccount_territory_restriction;;
            ]]>
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_subaccount_territory_restriction;;

                CREATE TRIGGER after_insert_subaccount_territory_restriction AFTER INSERT ON subaccount_territory_restriction
                FOR EACH ROW
                BEGIN
                    INSERT IGNORE INTO art_relations.carveout_change_subaccount 
                    SET 
                        subaccount_id = NEW.subaccount_id, 
                        date_added = NOW(), 
                        day_added = CURRENT_DATE(), 
                        hour_of_day = HOUR(NOW()), 
                        minute_of_day = MINUTE(NOW());
                    END
            ]]>
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="7" author="pinfieldharm">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_vendor_dms_master_restriction;;
            ]]>
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            <![CDATA[
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_vendor_dms_master_restriction;;

                CREATE TRIGGER after_insert_vendor_dms_master_restriction AFTER INSERT ON vendor_dms_master_restriction
                FOR EACH ROW
                BEGIN
                    INSERT IGNORE INTO art_relations.carveout_change_vendor 
                    SET 
                        vendor_id = (SELECT vendor_id FROM vendor_contract WHERE id = NEW.vendor_contract_id), 
                        date_added = NOW(), 
                        day_added = CURRENT_DATE(), 
                        hour_of_day = HOUR(NOW()), 
                        minute_of_day = MINUTE(NOW());
                    END
            ]]>
            </sql>
        </rollback>
    </changeSet>

</databaseChangeLog>
