<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.liquigraph.org/schema/1.0/liquigraph.xsd">
    <changeset id="PUB-62_migrate_data:1" author="ratoui" run-on-change="true">
        <query>
         <![CDATA[
            MATCH (c:PublishingComposition)
            MATCH (c)-[hp:HAS_PUBLISHING]->(a:PublishingAgreement)
            MATCH (a)<-[:HAS_AGREEMENT]-(sw:PublishingSongWriter)
            OPTIONAL MATCH (a)<-[:HAS_AGREEMENT]-(pub:PublishingPublisher)
            CALL apoc.do.when(
                pub is NOT NULL,
                "
                    MERGE (c)<-[hws:HAS_WRITER_SHARE]-(sw)
                    SET hws.split = hp.split,
                        hws.hasMusicContribution = hp.hasMusicContribution,
                        hws.hasLyricsContribution = hp.hasLyricsContribution
                    MERGE (c)<-[hps:HAS_PUB_SHARE]-(pub)
                    SET hps.split = hp.split
                    RETURN hws, hps
                ",
                "
                    MERGE (c)<-[hws:HAS_WRITER_SHARE]-(sw)
                    SET hws.split = hp.split,
                        hws.hasMusicContribution = hp.hasMusicContribution,
                        hws.hasLyricsContribution = hp.hasLyricsContribution
                    RETURN hws
                ",
                {
                    hp: hp,
                    c: c,
                    sw: sw,
                    pub: pub
                }
            )
            YIELD value
            RETURN value

        ]]>
        </query>
    </changeset>

    <changeset id="PUB-62_migrate_data:2" author="ratoui" run-on-change="true">
        <query>
         <![CDATA[
            MATCH (c:PublishingComposition)
            MATCH (c)-[hp:HAS_PUBLISHING]-(a:PublishingAgreement)
            DELETE hp

        ]]>
        </query>
    </changeset>
</changelog>
