<?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="CDAM-1860_delete_invalid_relations_between_lp_and_gp:1"
        author="ssavva"
        run-always="true"
    >
        <precondition>
            <sqlquery>
                SELECT GP.ID AS GP_UUID, LP.UUID AS LP_UUID
                FROM FACTS.PROD.GLOBAL_PARTICIPANT_REPRESENTS_LABEL_PARTICIPANT GP_R_LP
                INNER JOIN FACTS.PROD.GLOBAL_PARTICIPANT GP
                    ON GP_R_LP.GLOBAL_PARTICIPANT_ID = GP.ID
                INNER JOIN FACTS.PROD.LABEL_PARTICIPANT LP
                    ON GP_R_LP.LABEL_PARTICIPANT_ID = LP.ID
                WHERE COALESCE(LP.SPOTIFY_ID, '') = '';
            </sqlquery>
        </precondition>
        <cypherquery>
            <![CDATA[
                MATCH (gp:GlobalParticipant {id: event.GP_UUID})-[oldRepresents:REPRESENTS]->(lp:LabelParticipant {uuid: event.LP_UUID})
                MERGE (gp)-[deletedRepresents:DELETED_REPRESENTS]->(lp)
                    SET
                        deletedRepresents.deletedAt = datetime(),
                        deletedRepresents.deletedBy = 'database/CDAM-1860_delete_invalid_relations_between_lp_and_gp:1'
                DELETE oldRepresents;
            ]]>
        </cypherquery>
    </changeset>
</changelog>
