<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/var/app/InputFileSchema.xsd">
    <changeset id="SR-179_remove_bad_lsr_to_track_rels:1" author="gaguirre" run-always="true">
        <precondition>
            <sqlquery>
                <![CDATA[
                    WITH track_ids AS (
                        SELECT 
                            DISTINCT track_id
                        FROM FACTS.PROD.ORCHARD_TRACK_IS_PLACEMENT_OF_LABEL_SOUND_RECORDING
                        GROUP BY 1
                        HAVING COUNT(*) > 1
                    )
                    SELECT
                        track_ids.track_id AS track_id,
                        ipo.label_sound_recording_id as bad_lsr_id
                    FROM track_ids
                    JOIN FACTS.PROD.ORCHARD_TRACK_IS_PLACEMENT_OF_LABEL_SOUND_RECORDING AS ipo
                        ON ipo.track_id = track_ids.track_id
                    JOIN ORCHARD_APP_REPORTING_V2.ART_RELATIONS_PROD_ART_RELATIONS.TRACK AS t
                        ON t.id = track_ids.track_id
                    JOIN ORCHARD_APP_REPORTING_V2.ART_RELATIONS_PROD_ART_RELATIONS.RELEASES AS r
                        ON r.release_id = t.release_id
                    JOIN ORCHARD_APP_REPORTING_V2.ART_RELATIONS_PROD_ART_RELATIONS.PROJECT AS p
                        ON p.project_id = r.project_id
                    JOIN FACTS.PROD.LABEL_SOUND_RECORDING AS lsr 
                        ON lsr.id = ipo.label_sound_recording_id
                    WHERE 
                        lsr.vendor_id != p.vendor_id or lsr.subaccount_id != IFNULL(r.subaccount_id, 0)
                    ORDER BY track_ids.track_id
                ]]>
            </sqlquery>
        </precondition>
        <cypherquery>
            <![CDATA[
                MATCH(t:Track:Orchard {id: event.TRACK_ID})-[ipoToDelete:IS_PLACEMENT_OF]->(lsr:LabelSoundRecording {id: event.BAD_LSR_ID})
                DELETE ipoToDelete
            ]]>
        </cypherquery>
    </changeset>
</changelog>
