<?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">
            USE art_relations;;

            /* Write upcs to temp table for joins. */
            CREATE TEMPORARY TABLE status_update_upcs (upc bigint(20));;
            INSERT INTO status_update_upcs (upc) VALUES (191018587703),(191018585129),(191018587345),(191018587352),(191018585136),(191018585143),(191018585150),(191018587369),(191018585167),(191018585174),(191018587376),(191018587383),(191018587390),(191018587406),(191018587413),(191018585181),(191018585198),(191018585204),(191018585211),(191018585228),(191018585235),(191018585242),(191018585259),(191018587710),(191018585266),(191018585273),(191018587420),(191018587727),(191018587734),(191018585280),(191018585297),(191018587437),(191018585303),(191018587741),(191018587758),(191018585310),(191018585327),(191018585334),(191018585341),(191018585358),(191018585365),(191018585372),(191018585389),(191018585396),(191018585402),(191018585419),(191018585426),(191018585433),(191018585440),(191018585457),(191018585464),(191018585471),(191018585488),(191018585495),(191018585501),(191018585518),(191018585525),(191018585532),(191018585549),(191018587765),(191018585556),(191018585563),(191018587444),(191018585570),(191018585587),(191018585594),(191018585600),(191018587772),(191018587789),(191018585617),(191018585624),(191018585631),(191018585648),(191018587338),(191018585655),(191018585662),(191018585679),(191018585686),(191018587802),(191018587819),(191018585693),(191018585709),(191018585716),(191018587451),(191018585723),(191018585730),(191018585747),(191018585754),(191018585761),(191018585778),(191018585785),(191018585792),(191018585808),(191018585815),(191018585822),(191018585839),(191018585846),(191018585853),(191018585860),(191018585877),(191018585884),(191018585891),(191018585907),(191018585914),(191018585921),(191018585938),(191018587826),(191018587833),(191018587840),(191018585945),(191018585952),(191018585969),(191018585976),(191018585983),(191018585990),(191018586003),(191018587857),(191018586010),(191018586027),(191018586034),(191018587468),(191018586041),(191018586058),(191018586065),(191018586072),(191018586089),(191018586096),(191018586102),(191018587864),(191018587871),(191018586119),(191018586126),(191018586133),(191018586140),(191018586157),(191018586164),(191018586171),(191018586188),(191018586195),(191018586201),(191018586218),(191018586225),(191018586232),(191018586249),(191018586256),(191018586263),(191018586270),(191018586287),(191018586294),(191018586300),(191018586317),(191018586324),(191018586331),(191018586348),(191018586355),(191018586362),(191018586379),(191018586386),(191018586393),(191018586409),(191018586416),(191018587475),(191018587482),(191018586423),(191018586430),(191018586447),(191018586454),(191018586461),(191018586478),(191018586485),(191018586492),(191018586508),(191018586515),(191018586522),(191018586539),(191018586546),(191018586553),(191018586560),(191018586577),(191018586584),(191018586591),(191018586607),(191018586614),(191018586621),(191018586638),(191018586645),(191018586652),(191018586669),(191018586676),(191018586683),(191018586690),(191018586706),(191018586713),(191018586720),(191018587499),(191018586737),(191018586744),(191018586751),(191018586768),(191018586775),(191018586782),(191018586799),(191018586805),(191018586812),(191018586829),(191018586836),(191018586843),(191018587505),(191018586850),(191018586867),(191018586874),(191018586881),(191018586898),(191018586904),(191018586911),(191018586928),(191018586935),(191018586942),(191018586959),(191018586966),(191018586973),(191018586980),(191018586997),(191018587000),(191018587017),(191018587512),(191018587024),(191018587031),(191018587048),(191018587055),(191018587062),(191018587079),(191018587086),(191018587093),(191018587109),(191018587116),(191018587123),(191018587130),(191018587147),(191018587154),(191018587529),(191018587161),(191018587178),(191018587536),(191018587543),(191018587185),(191018587192),(191018587208),(191018587215),(191018587222),(191018587239),(191018587246),(191018587253),(191018587260),(191018587277),(191018587550),(191018587284),(191018587567),(191018587574),(191018587581),(191018587888),(191018587598),(191018587604),(191018587611),(191018587628),(191018587635),(191018587642),(191018587659),(191018587666),(191018587673),(191018587680),(191018587697),(191018587895),(191018587901);;
            /* Set release_status to in_content for releases with matching upcs */
            UPDATE releases 
            INNER JOIN status_update_upcs ON releases.upc = status_update_upcs.upc
            SET releases.release_status = 'in_content';;

            /* Add record for release_status changes. User 1000 is brubin */
            INSERT INTO release_status (release_id, changed_by, status, date, changed_by_type)
            SELECT releases.release_id, 1000, 'in_content', CURDATE(), 'oa'
            FROM releases 
            INNER JOIN status_update_upcs ON releases.upc = status_update_upcs.upc;;
        </sql>
        <rollback>
            USE art_relations;;

            /* Write upcs to temp table for joins. */
            CREATE TEMPORARY TABLE status_update_upcs (upc bigint(20));;
            INSERT INTO status_update_upcs (upc) VALUES (191018587703),(191018585129),(191018587345),(191018587352),(191018585136),(191018585143),(191018585150),(191018587369),(191018585167),(191018585174),(191018587376),(191018587383),(191018587390),(191018587406),(191018587413),(191018585181),(191018585198),(191018585204),(191018585211),(191018585228),(191018585235),(191018585242),(191018585259),(191018587710),(191018585266),(191018585273),(191018587420),(191018587727),(191018587734),(191018585280),(191018585297),(191018587437),(191018585303),(191018587741),(191018587758),(191018585310),(191018585327),(191018585334),(191018585341),(191018585358),(191018585365),(191018585372),(191018585389),(191018585396),(191018585402),(191018585419),(191018585426),(191018585433),(191018585440),(191018585457),(191018585464),(191018585471),(191018585488),(191018585495),(191018585501),(191018585518),(191018585525),(191018585532),(191018585549),(191018587765),(191018585556),(191018585563),(191018587444),(191018585570),(191018585587),(191018585594),(191018585600),(191018587772),(191018587789),(191018585617),(191018585624),(191018585631),(191018585648),(191018587338),(191018585655),(191018585662),(191018585679),(191018585686),(191018587802),(191018587819),(191018585693),(191018585709),(191018585716),(191018587451),(191018585723),(191018585730),(191018585747),(191018585754),(191018585761),(191018585778),(191018585785),(191018585792),(191018585808),(191018585815),(191018585822),(191018585839),(191018585846),(191018585853),(191018585860),(191018585877),(191018585884),(191018585891),(191018585907),(191018585914),(191018585921),(191018585938),(191018587826),(191018587833),(191018587840),(191018585945),(191018585952),(191018585969),(191018585976),(191018585983),(191018585990),(191018586003),(191018587857),(191018586010),(191018586027),(191018586034),(191018587468),(191018586041),(191018586058),(191018586065),(191018586072),(191018586089),(191018586096),(191018586102),(191018587864),(191018587871),(191018586119),(191018586126),(191018586133),(191018586140),(191018586157),(191018586164),(191018586171),(191018586188),(191018586195),(191018586201),(191018586218),(191018586225),(191018586232),(191018586249),(191018586256),(191018586263),(191018586270),(191018586287),(191018586294),(191018586300),(191018586317),(191018586324),(191018586331),(191018586348),(191018586355),(191018586362),(191018586379),(191018586386),(191018586393),(191018586409),(191018586416),(191018587475),(191018587482),(191018586423),(191018586430),(191018586447),(191018586454),(191018586461),(191018586478),(191018586485),(191018586492),(191018586508),(191018586515),(191018586522),(191018586539),(191018586546),(191018586553),(191018586560),(191018586577),(191018586584),(191018586591),(191018586607),(191018586614),(191018586621),(191018586638),(191018586645),(191018586652),(191018586669),(191018586676),(191018586683),(191018586690),(191018586706),(191018586713),(191018586720),(191018587499),(191018586737),(191018586744),(191018586751),(191018586768),(191018586775),(191018586782),(191018586799),(191018586805),(191018586812),(191018586829),(191018586836),(191018586843),(191018587505),(191018586850),(191018586867),(191018586874),(191018586881),(191018586898),(191018586904),(191018586911),(191018586928),(191018586935),(191018586942),(191018586959),(191018586966),(191018586973),(191018586980),(191018586997),(191018587000),(191018587017),(191018587512),(191018587024),(191018587031),(191018587048),(191018587055),(191018587062),(191018587079),(191018587086),(191018587093),(191018587109),(191018587116),(191018587123),(191018587130),(191018587147),(191018587154),(191018587529),(191018587161),(191018587178),(191018587536),(191018587543),(191018587185),(191018587192),(191018587208),(191018587215),(191018587222),(191018587239),(191018587246),(191018587253),(191018587260),(191018587277),(191018587550),(191018587284),(191018587567),(191018587574),(191018587581),(191018587888),(191018587598),(191018587604),(191018587611),(191018587628),(191018587635),(191018587642),(191018587659),(191018587666),(191018587673),(191018587680),(191018587697),(191018587895),(191018587901);;

            /* Revert release status to label_processing */
            UPDATE releases 
            INNER JOIN status_update_upcs ON releases.upc = status_update_upcs.upc
            SET releases.release_status = 'label_processing';;

            /* Remove release_status records */
            DELETE release_status FROM release_status 
            INNER JOIN releases ON release_status.release_id = releases.release_id
            INNER JOIN status_update_upcs ON releases.upc = status_update_upcs.upc
            WHERE changed_by = 1000 AND status = 'in_content' AND changed_by_type = 'oa';;
        </rollback>
    </changeSet>
</databaseChangeLog>
