From 18aec742229ff5d5c053442456ea7390f65370b6 Mon Sep 17 00:00:00 2001 From: Silvan Date: Tue, 6 Apr 2021 08:20:54 +0200 Subject: [PATCH] fix: migration for cleanup resource owners (#1516) * migration for cleanup resource owners * table name --- .../V1.36__cleanup_resource_owners.sql | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 migrations/cockroach/V1.36__cleanup_resource_owners.sql diff --git a/migrations/cockroach/V1.36__cleanup_resource_owners.sql b/migrations/cockroach/V1.36__cleanup_resource_owners.sql new file mode 100644 index 000000000..eea726f9e --- /dev/null +++ b/migrations/cockroach/V1.36__cleanup_resource_owners.sql @@ -0,0 +1,46 @@ +WITH resource_owners AS ( + WITH first_sequences AS ( + WITH duplicates AS ( + select + aggregate_id, + aggregate_type + from ( + select + aggregate_type, + aggregate_id, + resource_owner + from eventstore.events + where aggregate_type not like '%.%' + group by + aggregate_type, + aggregate_id, + resource_owner + ) group by + aggregate_id, + aggregate_type + having count(resource_owner) > 1 + ) + SELECT + MIN(event_sequence) AS seq, + aggregate_type, + aggregate_id + FROM + eventstore.events + WHERE + aggregate_id IN (select aggregate_id from duplicates) + GROUP BY + aggregate_type, + aggregate_id + ORDER BY aggregate_id, seq + ) + SELECT + f.*, + e.resource_owner + FROM + first_sequences f + JOIN + eventstore.events e ON f.seq = e.event_sequence +) +UPDATE eventstore.events e +SET resource_owner = r.resource_owner +FROM resource_owners r where e.aggregate_id = r.aggregate_id;