feat: move ownership to member column instead of table column
This commit is contained in:
parent
419f37b108
commit
0588541876
5 changed files with 34 additions and 7 deletions
|
@ -0,0 +1,14 @@
|
|||
-- This file should undo anything in `up.sql`
|
||||
ALTER TABLE guilds
|
||||
ADD COLUMN owner_uuid UUID REFERENCES users(uuid);
|
||||
|
||||
UPDATE guilds g
|
||||
SET owner_uuid = gm.user_uuid
|
||||
FROM guild_members gm
|
||||
WHERE gm.guild_uuid = g.uuid AND gm.is_owner = TRUE;
|
||||
|
||||
ALTER TABLE guilds
|
||||
ALTER COLUMN owner_uuid SET NOT NULL;
|
||||
|
||||
ALTER TABLE guild_members
|
||||
DROP COLUMN is_owner;
|
14
migrations/2025-06-06-145916_guild_ownership_changes/up.sql
Normal file
14
migrations/2025-06-06-145916_guild_ownership_changes/up.sql
Normal file
|
@ -0,0 +1,14 @@
|
|||
-- Your SQL goes here
|
||||
ALTER TABLE guild_members
|
||||
ADD COLUMN is_owner BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
UPDATE guild_members gm
|
||||
SET is_owner = true
|
||||
FROM guilds g
|
||||
WHERE gm.guild_uuid = g.uuid AND gm.user_uuid = g.owner_uuid;
|
||||
|
||||
CREATE UNIQUE INDEX one_owner_per_guild ON guild_members (guild_uuid)
|
||||
WHERE is_owner;
|
||||
|
||||
ALTER TABLE guilds
|
||||
DROP COLUMN owner_uuid;
|
Loading…
Add table
Add a link
Reference in a new issue