<?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="pshrivastava">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE art_relations;;
            DROP TRIGGER IF EXISTS after_insert_release_artist;;

            CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER after_insert_release_artist AFTER INSERT ON release_artist
            FOR EACH ROW
            BEGIN
                INSERT INTO art_relations_log.release_artist_log SET
                    log_timestamp     = NOW(),
                    log_action        = 'insert',
                    release_artist_id = NEW.release_artist_id,
                    upc               = NEW.upc,
                    role              = NEW.role,
                    release_id        = NEW.release_id,
                    artist_name       = NEW.artist_name,
                    url               = NEW.url
                ;
            END;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_insert_release_artist;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="2" author="pshrivastava">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">	
            USE art_relations;;
            DROP TRIGGER IF EXISTS after_update_release_artist;;

            CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER after_update_release_artist AFTER UPDATE ON release_artist
            FOR EACH ROW
            BEGIN
                INSERT INTO art_relations_log.release_artist_log SET
                    log_timestamp     = NOW(),
                    log_action        = 'update',
                    release_artist_id = NEW.release_artist_id,
                    upc               = NEW.upc,
                    role              = NEW.role,
                    release_id        = NEW.release_id,
                    artist_name       = NEW.artist_name,
                    url               = NEW.url
                ;
            END;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_update_release_artist;;
            </sql>
        </rollback>
    </changeSet>
    <changeSet id="3" author="pshrivastava">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE art_relations;;
            DROP TRIGGER IF EXISTS after_delete_release_artist;;

            CREATE DEFINER = 'theorchard'@'10.10.%' TRIGGER after_delete_release_artist AFTER DELETE ON release_artist
            FOR EACH ROW
            BEGIN
                INSERT INTO art_relations_log.release_artist_log SET
                    log_timestamp     = NOW(),
                    log_action        = 'delete',
                    release_artist_id = OLD.release_artist_id,
                    upc               = OLD.upc,
                    role              = OLD.role,
                    release_id        = OLD.release_id,
                    artist_name       = OLD.artist_name,
                    url               = OLD.url
                ;
            END;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                USE art_relations;;
                DROP TRIGGER IF EXISTS after_delete_release_artist;;
            </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
