diff --git a/migrations/2025-03-17-110023_site_person_ban/up.sql b/migrations/2025-03-17-110023_site_person_ban/up.sql index 7f87f509d..f35a19da5 100644 --- a/migrations/2025-03-17-110023_site_person_ban/up.sql +++ b/migrations/2025-03-17-110023_site_person_ban/up.sql @@ -5,7 +5,20 @@ ALTER TABLE instance_actions ADD COLUMN ban_expires timestamptz; ALTER TABLE mod_ban - ADD COLUMN instance_id int NOT NULL REFERENCES instance ON UPDATE CASCADE ON DELETE CASCADE; + ADD COLUMN instance_id int REFERENCES instance ON UPDATE CASCADE ON DELETE CASCADE; + +UPDATE + mod_ban +SET + instance_id = person.instance_id +FROM + person +WHERE + mod_ban.instance_id IS NULL + AND mod_ban.mod_person_id = person.id; + +ALTER TABLE mod_ban + ALTER COLUMN instance_id SET NOT NULL; -- insert existing bans into instance_actions table, assuming they were all banned from home instance INSERT INTO instance_actions (person_id, instance_id, received_ban, ban_expires)