<?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="mthomas">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE art_relations;;

            DROP TRIGGER IF EXISTS `after_insert_project`;;

            CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER `after_insert_project` AFTER INSERT ON `project` FOR EACH ROW
            BEGIN
                INSERT INTO `art_relations_log`.`project_log` SET
                    `log_date_utc` = UTC_TIMESTAMP(),
                    `log_action` = 'insert',
                    `project_id` = NEW.`project_id`,
                    `project_code` = NEW.`project_code`,
                    `vendor_id` = NEW.`vendor_id`,
                    `subaccount_id` = NEW.`subaccount_id`,
                    `project_name` = NEW.`project_name`,
                    `created_date_utc` = NEW.`created_date_utc`,
                    `updated_date_utc` = NEW.`updated_date_utc`,
                    `correlation_id` = NEW.`correlation_id`,
                    `artist_id` = NEW.`artist_id`,
                    `description` = NEW.`description`
                ;
            END;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                USE art_relations;;

                DROP TRIGGER IF EXISTS after_insert_project;;

                CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER `after_insert_project` AFTER INSERT ON `project` FOR EACH ROW
                BEGIN
                    INSERT INTO `art_relations_log`.`project_log` SET
                        `log_date_utc` = UTC_TIMESTAMP(),
                        `log_action` = 'insert',
                        `project_id` = NEW.`project_id`,
                        `project_code` = NEW.`project_code`,
                        `vendor_id` = NEW.`vendor_id`,
                        `subaccount_id` = NEW.`subaccount_id`,
                        `project_name` = NEW.`project_name`,
                        `created_date_utc` = NEW.`created_date_utc`,
                        `updated_date_utc` = NEW.`updated_date_utc`,
                        `correlation_id` = NEW.`correlation_id`,
                        `artist_id` = NEW.`artist_id`
                    ;
                END;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="2" author="mthomas">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE art_relations;;

            DROP TRIGGER IF EXISTS `after_update_project`;;

            CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER `after_update_project` AFTER UPDATE ON `project` FOR EACH ROW
            BEGIN
                INSERT INTO `art_relations_log`.`project_log` SET
                    `log_date_utc` = UTC_TIMESTAMP(),
                    `log_action` = 'update',
                    `project_id` = NEW.`project_id`,
                    `project_code` = NEW.`project_code`,
                    `vendor_id` = NEW.`vendor_id`,
                    `subaccount_id` = NEW.`subaccount_id`,
                    `project_name` = NEW.`project_name`,
                    `created_date_utc` = NEW.`created_date_utc`,
                    `updated_date_utc` = NEW.`updated_date_utc`,
                    `correlation_id` = NEW.`correlation_id`,
                    `artist_id` = NEW.`artist_id`,
                    `description` = NEW.`description`
                ;
            END;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                USE art_relations;;

                DROP TRIGGER IF EXISTS after_update_project;;

                CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER `after_update_project` AFTER UPDATE ON `project` FOR EACH ROW
                BEGIN
                    INSERT INTO `art_relations_log`.`project_log` SET
                        `log_date_utc` = UTC_TIMESTAMP(),
                        `log_action` = 'update',
                        `project_id` = NEW.`project_id`,
                        `project_code` = NEW.`project_code`,
                        `vendor_id` = NEW.`vendor_id`,
                        `subaccount_id` = NEW.`subaccount_id`,
                        `project_name` = NEW.`project_name`,
                        `created_date_utc` = NEW.`created_date_utc`,
                        `updated_date_utc` = NEW.`updated_date_utc`,
                        `correlation_id` = NEW.`correlation_id`,
                        `artist_id` = NEW.`artist_id`
                    ;
                END;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="3" author="mthomas">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE art_relations;;

            DROP TRIGGER IF EXISTS `after_delete_project`;;

            CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER `after_delete_project` AFTER DELETE ON `project` FOR EACH ROW
            BEGIN
                INSERT INTO `art_relations_log`.`project_log` SET
                    `log_date_utc` = UTC_TIMESTAMP(),
                    `log_action` = 'delete',
                    `project_id` = OLD.`project_id`,
                    `project_code` = OLD.`project_code`,
                    `vendor_id` = OLD.`vendor_id`,
                    `subaccount_id` = OLD.`subaccount_id`,
                    `project_name` = OLD.`project_name`,
                    `created_date_utc` = OLD.`created_date_utc`,
                    `updated_date_utc` = OLD.`updated_date_utc`,
                    `correlation_id` = OLD.`correlation_id`,
                    `artist_id` = OLD.`artist_id`,
                    `description` = OLD.`description`
                ;
            END;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                USE art_relations;;

                DROP TRIGGER IF EXISTS after_delete_project;;

                CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER `after_delete_project` AFTER DELETE ON `project` FOR EACH ROW
                BEGIN
                    INSERT INTO `art_relations_log`.`project_log` SET
                        `log_date_utc` = UTC_TIMESTAMP(),
                        `log_action` = 'delete',
                        `project_id` = OLD.`project_id`,
                        `project_code` = OLD.`project_code`,
                        `vendor_id` = OLD.`vendor_id`,
                        `subaccount_id` = OLD.`subaccount_id`,
                        `project_name` = OLD.`project_name`,
                        `created_date_utc` = OLD.`created_date_utc`,
                        `updated_date_utc` = OLD.`updated_date_utc`,
                        `correlation_id` = OLD.`correlation_id`,
                        `artist_id` = OLD.`artist_id`
                    ;
                END;;
            </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
