Moving dupe checking to before new actor_id generation.

This commit is contained in:
Dessalines 2020-07-19 13:32:50 -04:00
parent 87202b4915
commit 2ff7acf207

View file

@ -8,16 +8,9 @@ as $$
from generate_series(1, 20) 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 -- 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 ( delete from community a using (
select min(id) as id, actor_id select min(id) as id, actor_id
from community from community
@ -34,6 +27,15 @@ delete from user_ a using (
where a.actor_id = b.actor_id where a.actor_id = b.actor_id
and a.id <> b.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 -- Add the unique indexes
alter table community alter column actor_id set not null; alter table community alter column actor_id set not null;
alter table community alter column actor_id set default generate_unique_changeme(); alter table community alter column actor_id set default generate_unique_changeme();