<?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="101" author="jian">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            DROP TABLE IF EXISTS `ROLLBACK_VC-259_dms_subgenre_mapping`;;
            DROP TABLE IF EXISTS `ROLLBACK_VC-259_dms_genre_mapping`;;
        
            CREATE TABLE `ROLLBACK_VC-259_dms_subgenre_mapping`
            SELECT dsm.*
            FROM dms_subgenre_mapping dsm
            INNER JOIN dms_master_subgenre dms ON dsm.dms_master_subgenre_id = dms.dms_master_subgenre_id
            INNER JOIN dms_master_genre dmg ON dmg.dms_master_genre_id = dms.dms_master_genre_id
            WHERE dsm.orchard_subgenre_id = 251;;
            
            CREATE TABLE `ROLLBACK_VC-259_dms_genre_mapping`
            SELECT dgm.*
            FROM dms_genre_mapping dgm
            INNER JOIN dms_master_genre dmg ON dgm.dms_master_genre_id = dmg.dms_master_genre_id
            WHERE dgm.orchard_subgenre_id = 251;;

            DELETE dsm.*
            FROM dms_subgenre_mapping dsm
            INNER JOIN dms_master_subgenre dms ON dsm.dms_master_subgenre_id = dms.dms_master_subgenre_id
            INNER JOIN dms_master_genre dmg ON dmg.dms_master_genre_id = dms.dms_master_genre_id
            WHERE dsm.orchard_subgenre_id = 251;;

            DELETE dgm.*
            FROM dms_genre_mapping dgm
            INNER JOIN dms_master_genre dmg ON dgm.dms_master_genre_id = dmg.dms_master_genre_id
            WHERE dgm.orchard_subgenre_id = 251;;

            DELETE FROM subgenre WHERE orchard_id = 251;;
        </sql>
        <rollback>
            INSERT INTO subgenre (name, genre_id, orchard_id, music_video) VALUES ('Rhymes/Fairytales', 13, 251, 'Y');;
            
            INSERT INTO dms_subgenre_mapping (orchard_subgenre_id, dms_master_subgenre_id) 
            SELECT orchard_subgenre_id, dms_master_subgenre_id FROM `ROLLBACK_VC-259_dms_subgenre_mapping`;;

            INSERT INTO dms_genre_mapping (orchard_subgenre_id, dms_master_genre_id)
            SELECT orchard_subgenre_id, dms_master_genre_id FROM `ROLLBACK_VC-259_dms_genre_mapping`;;
            
            DROP TABLE IF EXISTS `ROLLBACK_VC-259_dms_subgenre_mapping`;;
            
            DROP TABLE IF EXISTS `ROLLBACK_VC-259_dms_genre_mapping`;;
        </rollback>
    </changeSet>
</databaseChangeLog>
