From 2ff7acf207b6c7b78f3c4ac69d9e55b720fe9653 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Sun, 19 Jul 2020 13:32:50 -0400 Subject: [PATCH] Moving dupe checking to before new actor_id generation. --- .../up.sql | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/server/migrations/2020-07-18-234519_add_unique_community_user_actor_ids/up.sql b/server/migrations/2020-07-18-234519_add_unique_community_user_actor_ids/up.sql index bbf6b18c6..e32ed5e08 100644 --- a/server/migrations/2020-07-18-234519_add_unique_community_user_actor_ids/up.sql +++ b/server/migrations/2020-07-18-234519_add_unique_community_user_actor_ids/up.sql @@ -8,16 +8,9 @@ as $$ from generate_series(1, 20) $$; -update community -set actor_id = generate_unique_changeme() -where actor_id = 'http://fake.com'; - -update user_ -set actor_id = generate_unique_changeme() -where actor_id = 'http://fake.com'; - -- Need to delete the possible community and user dupes for ones that don't start with the fake one --- TODO make sure this removes the later ids, not the first +-- A few test inserts, to make sure this removes later dupes +-- insert into community (name, title, category_id, creator_id) values ('testcom', 'another testcom', 1, 2); delete from community a using ( select min(id) as id, actor_id from community @@ -34,6 +27,15 @@ delete from user_ a using ( where a.actor_id = b.actor_id and a.id <> b.id; +-- Replacing the current default on the columns, to the unique one +update community +set actor_id = generate_unique_changeme() +where actor_id = 'http://fake.com'; + +update user_ +set actor_id = generate_unique_changeme() +where actor_id = 'http://fake.com'; + -- Add the unique indexes alter table community alter column actor_id set not null; alter table community alter column actor_id set default generate_unique_changeme();