From 02978542e7b72c872a5dd5d1d08b4e87586d9943 Mon Sep 17 00:00:00 2001 From: Luna Date: Wed, 3 Apr 2019 22:04:59 -0300 Subject: [PATCH] remove all migrations, rename schema.sql to a 0_base.sql --- .../cmd/migration/scripts/0_base.sql | 0 .../scripts/10_add_attachments_table.sql | 15 -------- .../scripts/11_voice_regions_servers.sql | 37 ------------------- .../scripts/12_remove_features_table.sql | 5 --- .../scripts/13_add_vanity_invites_table.sql | 5 --- .../scripts/14_add_guild_description.sql | 2 - .../15_drop_nullable_webhook_avatar.sql | 2 - .../scripts/16_messages_webhooks.sql | 17 --------- .../scripts/1_message_embed_type.sql | 6 --- .../cmd/migration/scripts/2_icons_table.sql | 35 ------------------ .../scripts/3_drop_constraints_icons_hash.sql | 9 ----- .../scripts/4_add_instance_invites.sql | 8 ---- .../scripts/5_add_messages_guild_id.sql | 1 - .../scripts/6_emoji_require_colon_true.sql | 5 --- .../7_text_channels_rate_limit_per_user.sql | 2 - .../scripts/8_roles_default_color.sql | 9 ----- .../migration/scripts/9_nullable_emails.sql | 2 - 17 files changed, 160 deletions(-) rename schema.sql => manage/cmd/migration/scripts/0_base.sql (100%) delete mode 100644 manage/cmd/migration/scripts/10_add_attachments_table.sql delete mode 100644 manage/cmd/migration/scripts/11_voice_regions_servers.sql delete mode 100644 manage/cmd/migration/scripts/12_remove_features_table.sql delete mode 100644 manage/cmd/migration/scripts/13_add_vanity_invites_table.sql delete mode 100644 manage/cmd/migration/scripts/14_add_guild_description.sql delete mode 100644 manage/cmd/migration/scripts/15_drop_nullable_webhook_avatar.sql delete mode 100644 manage/cmd/migration/scripts/16_messages_webhooks.sql delete mode 100644 manage/cmd/migration/scripts/1_message_embed_type.sql delete mode 100644 manage/cmd/migration/scripts/2_icons_table.sql delete mode 100644 manage/cmd/migration/scripts/3_drop_constraints_icons_hash.sql delete mode 100644 manage/cmd/migration/scripts/4_add_instance_invites.sql delete mode 100644 manage/cmd/migration/scripts/5_add_messages_guild_id.sql delete mode 100644 manage/cmd/migration/scripts/6_emoji_require_colon_true.sql delete mode 100644 manage/cmd/migration/scripts/7_text_channels_rate_limit_per_user.sql delete mode 100644 manage/cmd/migration/scripts/8_roles_default_color.sql delete mode 100644 manage/cmd/migration/scripts/9_nullable_emails.sql diff --git a/schema.sql b/manage/cmd/migration/scripts/0_base.sql similarity index 100% rename from schema.sql rename to manage/cmd/migration/scripts/0_base.sql diff --git a/manage/cmd/migration/scripts/10_add_attachments_table.sql b/manage/cmd/migration/scripts/10_add_attachments_table.sql deleted file mode 100644 index b1f979d..0000000 --- a/manage/cmd/migration/scripts/10_add_attachments_table.sql +++ /dev/null @@ -1,15 +0,0 @@ -CREATE TABLE IF NOT EXISTS attachments ( - id bigint PRIMARY KEY, - - channel_id bigint REFERENCES channels (id), - message_id bigint REFERENCES messages (id), - - filename text NOT NULL, - filesize integer, - - image boolean DEFAULT FALSE, - - -- only not null if image=true - height integer DEFAULT NULL, - width integer DEFAULT NULL -); diff --git a/manage/cmd/migration/scripts/11_voice_regions_servers.sql b/manage/cmd/migration/scripts/11_voice_regions_servers.sql deleted file mode 100644 index 398c91a..0000000 --- a/manage/cmd/migration/scripts/11_voice_regions_servers.sql +++ /dev/null @@ -1,37 +0,0 @@ --- voice region data --- NOTE: do NOT remove any rows. use deprectated=true and --- DELETE FROM voice_servers instead. -CREATE TABLE IF NOT EXISTS voice_regions ( - -- always lowercase - id text PRIMARY KEY, - - -- "Russia", "Brazil", "Antartica", etc - name text NOT NULL, - - -- we don't have the concept of vip guilds yet, but better - -- future proof. - vip boolean DEFAULT FALSE, - - deprecated boolean DEFAULT FALSE, - - -- we don't have the concept of custom regions too. we don't have the - -- concept of official guilds either, but i'm keeping this in - custom boolean DEFAULT FALSE -); - --- voice server pool. when someone wants to connect to voice, we choose --- a server that is in the same region the guild is too, and choose the one --- with the best health value -CREATE TABLE IF NOT EXISTS voice_servers ( - -- hostname is a reachable url, e.g "brazil2.example.com" - hostname text PRIMARY KEY, - region_id text REFERENCES voice_regions (id), - - -- health values are more thoroughly defined in the LVSP documentation - last_health float default 0.5 -); - - -ALTER TABLE guilds DROP COLUMN IF EXISTS region; -ALTER TABLE guilds ADD COLUMN - region text REFERENCES voice_regions (id); diff --git a/manage/cmd/migration/scripts/12_remove_features_table.sql b/manage/cmd/migration/scripts/12_remove_features_table.sql deleted file mode 100644 index 7c8df16..0000000 --- a/manage/cmd/migration/scripts/12_remove_features_table.sql +++ /dev/null @@ -1,5 +0,0 @@ -DROP TABLE guild_features; -DROP TABLE features; - --- this should do the trick -ALTER TABLE guilds ADD COLUMN features text[] NOT NULL DEFAULT '{}'; diff --git a/manage/cmd/migration/scripts/13_add_vanity_invites_table.sql b/manage/cmd/migration/scripts/13_add_vanity_invites_table.sql deleted file mode 100644 index 73aa914..0000000 --- a/manage/cmd/migration/scripts/13_add_vanity_invites_table.sql +++ /dev/null @@ -1,5 +0,0 @@ --- vanity url table, the mapping is 1-1 for guilds and vanity urls -CREATE TABLE IF NOT EXISTS vanity_invites ( - guild_id bigint REFERENCES guilds (id) PRIMARY KEY, - code text REFERENCES invites (code) ON DELETE CASCADE -); diff --git a/manage/cmd/migration/scripts/14_add_guild_description.sql b/manage/cmd/migration/scripts/14_add_guild_description.sql deleted file mode 100644 index c9dbecb..0000000 --- a/manage/cmd/migration/scripts/14_add_guild_description.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE guilds ADD COLUMN description text DEFAULT NULL; -ALTER TABLE guilds ADD COLUMN banner text DEFAULT NULL; diff --git a/manage/cmd/migration/scripts/15_drop_nullable_webhook_avatar.sql b/manage/cmd/migration/scripts/15_drop_nullable_webhook_avatar.sql deleted file mode 100644 index a6e110f..0000000 --- a/manage/cmd/migration/scripts/15_drop_nullable_webhook_avatar.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE webhooks ALTER COLUMN avatar DROP NOT NULL; -ALTER TABLE webhooks ALTER COLUMN avatar SET DEFAULT NULL; diff --git a/manage/cmd/migration/scripts/16_messages_webhooks.sql b/manage/cmd/migration/scripts/16_messages_webhooks.sql deleted file mode 100644 index fc8ba66..0000000 --- a/manage/cmd/migration/scripts/16_messages_webhooks.sql +++ /dev/null @@ -1,17 +0,0 @@ --- this is a tricky one. blame discord - --- first, remove all messages made by webhooks (safety check) -DELETE FROM messages WHERE author_id is null; - --- delete the column, removing the fkey. no connection anymore. -ALTER TABLE messages DROP COLUMN webhook_id; - --- add a message_webhook_info table. more on that in Storage._inject_author -CREATE TABLE IF NOT EXISTS message_webhook_info ( - message_id bigint REFERENCES messages (id) PRIMARY KEY, - - webhook_id bigint, - name text DEFAULT '', - avatar text DEFAULT NULL -); - diff --git a/manage/cmd/migration/scripts/1_message_embed_type.sql b/manage/cmd/migration/scripts/1_message_embed_type.sql deleted file mode 100644 index 8650558..0000000 --- a/manage/cmd/migration/scripts/1_message_embed_type.sql +++ /dev/null @@ -1,6 +0,0 @@ --- unused tables -DROP TABLE message_embeds; -DROP TABLE embeds; - -ALTER TABLE messages - ADD COLUMN embeds jsonb DEFAULT '[]' diff --git a/manage/cmd/migration/scripts/2_icons_table.sql b/manage/cmd/migration/scripts/2_icons_table.sql deleted file mode 100644 index ffe6fd9..0000000 --- a/manage/cmd/migration/scripts/2_icons_table.sql +++ /dev/null @@ -1,35 +0,0 @@ - --- new icons table -CREATE TABLE IF NOT EXISTS icons ( - scope text NOT NULL, - key text, - hash text UNIQUE NOT NULL, - mime text NOT NULL, - PRIMARY KEY (scope, hash, mime) -); - --- dummy attachments table for now. -CREATE TABLE IF NOT EXISTS attachments ( - id bigint NOT NULL, - PRIMARY KEY (id) -); - --- remove the old columns referencing the files table -ALTER TABLE users DROP COLUMN avatar; -ALTER TABLE users ADD COLUMN avatar text REFERENCES icons (hash) DEFAULT NULL; - -ALTER TABLE group_dm_channels DROP COLUMN icon; -ALTER TABLE group_dm_channels ADD COLUMN icon text REFERENCES icons (hash); - -ALTER TABLE guild_emoji DROP COLUMN image; -ALTER TABLE guild_emoji ADD COLUMN image text REFERENCES icons (hash); - -ALTER TABLE guilds DROP COLUMN icon; -ALTER TABLE guilds ADD COLUMN icon text REFERENCES icons (hash) DEFAULT NULL; - --- this one is a change from files to the attachments table -ALTER TABLE message_attachments DROP COLUMN attachment; -ALTER TABLE guild_emoji ADD COLUMN attachment bigint REFERENCES attachments (id); - --- remove files table -DROP TABLE files; diff --git a/manage/cmd/migration/scripts/3_drop_constraints_icons_hash.sql b/manage/cmd/migration/scripts/3_drop_constraints_icons_hash.sql deleted file mode 100644 index 59ef69e..0000000 --- a/manage/cmd/migration/scripts/3_drop_constraints_icons_hash.sql +++ /dev/null @@ -1,9 +0,0 @@ --- drop main primary key --- since hash can now be nullable -ALTER TABLE icons DROP CONSTRAINT "icons_pkey"; - --- remove not null from hash column -ALTER TABLE icons ALTER COLUMN hash DROP NOT NULL; - --- add new primary key, without hash -ALTER TABLE icons ADD CONSTRAINT icons_pkey PRIMARY KEY (scope, key); diff --git a/manage/cmd/migration/scripts/4_add_instance_invites.sql b/manage/cmd/migration/scripts/4_add_instance_invites.sql deleted file mode 100644 index ed215f1..0000000 --- a/manage/cmd/migration/scripts/4_add_instance_invites.sql +++ /dev/null @@ -1,8 +0,0 @@ -CREATE TABLE IF NOT EXISTS instance_invites ( - code text PRIMARY KEY, - - created_at timestamp without time zone default (now() at time zone 'utc'), - - uses bigint DEFAULT 0, - max_uses bigint DEFAULT -1 -); diff --git a/manage/cmd/migration/scripts/5_add_messages_guild_id.sql b/manage/cmd/migration/scripts/5_add_messages_guild_id.sql deleted file mode 100644 index 07b5c5e..0000000 --- a/manage/cmd/migration/scripts/5_add_messages_guild_id.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE messages ADD COLUMN guild_id bigint REFERENCES guilds (id) ON DELETE CASCADE; diff --git a/manage/cmd/migration/scripts/6_emoji_require_colon_true.sql b/manage/cmd/migration/scripts/6_emoji_require_colon_true.sql deleted file mode 100644 index 3eb7401..0000000 --- a/manage/cmd/migration/scripts/6_emoji_require_colon_true.sql +++ /dev/null @@ -1,5 +0,0 @@ --- require_colons seems to be true for all custom emoji. -ALTER TABLE guild_emoji ALTER COLUMN require_colons SET DEFAULT true; - --- retroactively update all other emojis -UPDATE guild_emoji SET require_colons=true; diff --git a/manage/cmd/migration/scripts/7_text_channels_rate_limit_per_user.sql b/manage/cmd/migration/scripts/7_text_channels_rate_limit_per_user.sql deleted file mode 100644 index 4976086..0000000 --- a/manage/cmd/migration/scripts/7_text_channels_rate_limit_per_user.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE guild_text_channels -ADD COLUMN rate_limit_per_user bigint DEFAULT 0; diff --git a/manage/cmd/migration/scripts/8_roles_default_color.sql b/manage/cmd/migration/scripts/8_roles_default_color.sql deleted file mode 100644 index b15fb18..0000000 --- a/manage/cmd/migration/scripts/8_roles_default_color.sql +++ /dev/null @@ -1,9 +0,0 @@ --- update roles.color default to 0 -ALTER TABLE roles - ALTER COLUMN color SET DEFAULT 0; - --- update all existing guild default roles to --- color=0 -UPDATE roles - SET color = 0 -WHERE roles.id = roles.guild_id; diff --git a/manage/cmd/migration/scripts/9_nullable_emails.sql b/manage/cmd/migration/scripts/9_nullable_emails.sql deleted file mode 100644 index 85eb7c2..0000000 --- a/manage/cmd/migration/scripts/9_nullable_emails.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE users ALTER COLUMN email DROP NOT NULL; -ALTER TABLE users ALTER COLUMN email SET DEFAULT NULL; \ No newline at end of file