--liquibase formatted cypher --changeset rshield:NR-3045_add_end_date:1 runOnChange: true UNWIND [ "USNLR1500216", "USNLR1500214", "USNLR1500217", "USNLR1500205", "USNLR1500195", "USNLR1500199", "USNLR1500213", "USNLR1500218", "USNLR1500202", "USNLR1500203", "USNLR1500222", "USNLR1500221", "USNLR1500204", "USNLR1500211", "USNLR1500208", "USNLR1500207", "USNLR1500209", "USNLR1500197", "USNLR1500220", "USNLR1500219", "USNLR1500215", "USNLR1500198", "USNLR1500210" ] AS isrc MATCH (sr:NrSoundRecording:NrOwnership { isrc: isrc })-[oldMonetizeRel:HAS_OWNERSHIP_RULE_MONETIZE {vendorId: 69080}]-(se1:NrOwnershipService{territory: "WORLD"}) WITH sr, oldMonetizeRel MATCH (sr)-[oldCarveoutRel:HAS_OWNERSHIP_RULE_CARVEOUT { vendorId: 69080 }]-(se2:NrOwnershipService) WITH collect( DISTINCT (se2.territory)) AS carveouts, oldCarveoutRel, oldMonetizeRel, sr MATCH (service:NrOwnershipService) WHERE service.territory <> "WORLD" AND NOT service.territory IN carveouts WITH oldCarveoutRel, oldMonetizeRel, sr, service MERGE (sr)-[r:HAS_OWNERSHIP_RULE_MONETIZE]->(service) SET r.createdBy = 'database/NR-3045_add_end_date', r.createdAt = datetime(), r.endDate = CASE WHEN service.territory = "AR" THEN date("2020-11-01") WHEN service.territory = "BR" THEN date("2020-01-16") ELSE oldMonetizeRel.endDate END, r.lastModifiedBy = 'database/NR-3045_add_end_date', r.lastModifiedAt = datetime(), r.startDate = oldMonetizeRel.startDate, r.vendorId = 69080, r.subaccountId = 0, r.percentage = oldMonetizeRel.percentage, r.id = randomUUID(), r.externalId = oldMonetizeRel.externalId DELETE oldMonetizeRel, oldCarveoutRel