From: Dessalines Date: Sun, 19 Jul 2020 17:32:50 +0000 (-0400) Subject: Moving dupe checking to before new actor_id generation. X-Git-Url: http://these/git/%7B%24%7B%60data:application/%22%7Burl%7D/%7Bthis.state.url%7D?a=commitdiff_plain;h=2ff7acf207b6c7b78f3c4ac69d9e55b720fe9653;p=lemmy.git Moving dupe checking to before new actor_id generation. --- 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 bbf6b18c..e32ed5e0 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();