From 29e88a440f2d9cc64ed7dff6f816d3fd0462acad Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Sun, 7 Aug 2022 21:43:38 +0200 Subject: Add migrations --- .../migrations/mariadb/1659901151025-initial.ts | 1219 +++++++ util/src/migrations/postgres/1659833042721-test.ts | 3539 -------------------- .../migrations/postgres/1659899687168-initial.ts | 1245 +++++++ .../src/migrations/sqlite/1659899662635-initial.ts | 3529 +++++++++++++++++++ util/src/util/Config.ts | 6 +- util/src/util/Database.ts | 33 +- 6 files changed, 6014 insertions(+), 3557 deletions(-) create mode 100644 util/src/migrations/mariadb/1659901151025-initial.ts delete mode 100644 util/src/migrations/postgres/1659833042721-test.ts create mode 100644 util/src/migrations/postgres/1659899687168-initial.ts create mode 100644 util/src/migrations/sqlite/1659899662635-initial.ts (limited to 'util/src') diff --git a/util/src/migrations/mariadb/1659901151025-initial.ts b/util/src/migrations/mariadb/1659901151025-initial.ts new file mode 100644 index 00000000..d15e0add --- /dev/null +++ b/util/src/migrations/mariadb/1659901151025-initial.ts @@ -0,0 +1,1219 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class initial1659901151025 implements MigrationInterface { + name = 'initial1659901151025' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TABLE \`config\` ( + \`key\` varchar(255) NOT NULL, + \`value\` text NULL, + PRIMARY KEY (\`key\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`relationships\` ( + \`id\` varchar(255) NOT NULL, + \`from_id\` varchar(255) NOT NULL, + \`to_id\` varchar(255) NOT NULL, + \`nickname\` varchar(255) NULL, + \`type\` int NOT NULL, + UNIQUE INDEX \`IDX_a0b2ff0a598df0b0d055934a17\` (\`from_id\`, \`to_id\`), + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`connected_accounts\` ( + \`id\` varchar(255) NOT NULL, + \`user_id\` varchar(255) NULL, + \`access_token\` varchar(255) NOT NULL, + \`friend_sync\` tinyint NOT NULL, + \`name\` varchar(255) NOT NULL, + \`revoked\` tinyint NOT NULL, + \`show_activity\` tinyint NOT NULL, + \`type\` varchar(255) NOT NULL, + \`verified\` tinyint NOT NULL, + \`visibility\` int NOT NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`users\` ( + \`id\` varchar(255) NOT NULL, + \`username\` varchar(255) NOT NULL, + \`discriminator\` varchar(255) NOT NULL, + \`avatar\` varchar(255) NULL, + \`accent_color\` int NULL, + \`banner\` varchar(255) NULL, + \`phone\` varchar(255) NULL, + \`desktop\` tinyint NOT NULL, + \`mobile\` tinyint NOT NULL, + \`premium\` tinyint NOT NULL, + \`premium_type\` int NOT NULL, + \`bot\` tinyint NOT NULL, + \`bio\` varchar(255) NOT NULL, + \`system\` tinyint NOT NULL, + \`nsfw_allowed\` tinyint NOT NULL, + \`mfa_enabled\` tinyint NOT NULL, + \`totp_secret\` varchar(255) NULL, + \`totp_last_ticket\` varchar(255) NULL, + \`created_at\` datetime NOT NULL, + \`premium_since\` datetime NULL, + \`verified\` tinyint NOT NULL, + \`disabled\` tinyint NOT NULL, + \`deleted\` tinyint NOT NULL, + \`email\` varchar(255) NULL, + \`flags\` varchar(255) NOT NULL, + \`public_flags\` int NOT NULL, + \`rights\` bigint NOT NULL, + \`data\` text NOT NULL, + \`fingerprints\` text NOT NULL, + \`settings\` text NOT NULL, + \`extended_settings\` text NOT NULL, + \`notes\` text NOT NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`backup_codes\` ( + \`id\` varchar(255) NOT NULL, + \`code\` varchar(255) NOT NULL, + \`consumed\` tinyint NOT NULL, + \`expired\` tinyint NOT NULL, + \`user_id\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`bans\` ( + \`id\` varchar(255) NOT NULL, + \`user_id\` varchar(255) NULL, + \`guild_id\` varchar(255) NULL, + \`executor_id\` varchar(255) NULL, + \`ip\` varchar(255) NOT NULL, + \`reason\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`recipients\` ( + \`id\` varchar(255) NOT NULL, + \`channel_id\` varchar(255) NOT NULL, + \`user_id\` varchar(255) NOT NULL, + \`closed\` tinyint NOT NULL DEFAULT 0, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`roles\` ( + \`id\` varchar(255) NOT NULL, + \`guild_id\` varchar(255) NULL, + \`color\` int NOT NULL, + \`hoist\` tinyint NOT NULL, + \`managed\` tinyint NOT NULL, + \`mentionable\` tinyint NOT NULL, + \`name\` varchar(255) NOT NULL, + \`permissions\` varchar(255) NOT NULL, + \`position\` int NOT NULL, + \`icon\` varchar(255) NULL, + \`unicode_emoji\` varchar(255) NULL, + \`tags\` text NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`members\` ( + \`index\` int NOT NULL AUTO_INCREMENT, + \`id\` varchar(255) NOT NULL, + \`guild_id\` varchar(255) NOT NULL, + \`nick\` varchar(255) NULL, + \`joined_at\` datetime NOT NULL, + \`premium_since\` bigint NULL, + \`deaf\` tinyint NOT NULL, + \`mute\` tinyint NOT NULL, + \`pending\` tinyint NOT NULL, + \`settings\` text NOT NULL, + \`last_message_id\` varchar(255) NULL, + \`joined_by\` varchar(255) NULL, + UNIQUE INDEX \`IDX_bb2bf9386ac443afbbbf9f12d3\` (\`id\`, \`guild_id\`), + PRIMARY KEY (\`index\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`webhooks\` ( + \`id\` varchar(255) NOT NULL, + \`type\` int NOT NULL, + \`name\` varchar(255) NULL, + \`avatar\` varchar(255) NULL, + \`token\` varchar(255) NULL, + \`guild_id\` varchar(255) NULL, + \`channel_id\` varchar(255) NULL, + \`application_id\` varchar(255) NULL, + \`user_id\` varchar(255) NULL, + \`source_guild_id\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`stickers\` ( + \`id\` varchar(255) NOT NULL, + \`name\` varchar(255) NOT NULL, + \`description\` varchar(255) NULL, + \`available\` tinyint NULL, + \`tags\` varchar(255) NULL, + \`pack_id\` varchar(255) NULL, + \`guild_id\` varchar(255) NULL, + \`user_id\` varchar(255) NULL, + \`type\` int NOT NULL, + \`format_type\` int NOT NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`attachments\` ( + \`id\` varchar(255) NOT NULL, + \`filename\` varchar(255) NOT NULL, + \`size\` int NOT NULL, + \`url\` varchar(255) NOT NULL, + \`proxy_url\` varchar(255) NOT NULL, + \`height\` int NULL, + \`width\` int NULL, + \`content_type\` varchar(255) NULL, + \`message_id\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`messages\` ( + \`id\` varchar(255) NOT NULL, + \`channel_id\` varchar(255) NULL, + \`guild_id\` varchar(255) NULL, + \`author_id\` varchar(255) NULL, + \`member_id\` varchar(255) NULL, + \`webhook_id\` varchar(255) NULL, + \`application_id\` varchar(255) NULL, + \`content\` varchar(255) NULL, + \`timestamp\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), + \`edited_timestamp\` datetime NULL, + \`tts\` tinyint NULL, + \`mention_everyone\` tinyint NULL, + \`embeds\` text NOT NULL, + \`reactions\` text NOT NULL, + \`nonce\` text NULL, + \`pinned\` tinyint NULL, + \`type\` int NOT NULL, + \`activity\` text NULL, + \`flags\` varchar(255) NULL, + \`message_reference\` text NULL, + \`interaction\` text NULL, + \`components\` text NULL, + \`message_reference_id\` varchar(255) NULL, + INDEX \`IDX_86b9109b155eb70c0a2ca3b4b6\` (\`channel_id\`), + INDEX \`IDX_05535bc695e9f7ee104616459d\` (\`author_id\`), + UNIQUE INDEX \`IDX_3ed7a60fb7dbe04e1ba9332a8b\` (\`channel_id\`, \`id\`), + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`read_states\` ( + \`id\` varchar(255) NOT NULL, + \`channel_id\` varchar(255) NOT NULL, + \`user_id\` varchar(255) NOT NULL, + \`last_message_id\` varchar(255) NULL, + \`public_ack\` varchar(255) NULL, + \`notifications_cursor\` varchar(255) NULL, + \`last_pin_timestamp\` datetime NULL, + \`mention_count\` int NULL, + UNIQUE INDEX \`IDX_0abf8b443321bd3cf7f81ee17a\` (\`channel_id\`, \`user_id\`), + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`invites\` ( + \`code\` varchar(255) NOT NULL, + \`temporary\` tinyint NOT NULL, + \`uses\` int NOT NULL, + \`max_uses\` int NOT NULL, + \`max_age\` int NOT NULL, + \`created_at\` datetime NOT NULL, + \`expires_at\` datetime NOT NULL, + \`guild_id\` varchar(255) NULL, + \`channel_id\` varchar(255) NULL, + \`inviter_id\` varchar(255) NULL, + \`target_user_id\` varchar(255) NULL, + \`target_user_type\` int NULL, + \`vanity_url\` tinyint NULL, + PRIMARY KEY (\`code\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`voice_states\` ( + \`id\` varchar(255) NOT NULL, + \`guild_id\` varchar(255) NULL, + \`channel_id\` varchar(255) NULL, + \`user_id\` varchar(255) NULL, + \`session_id\` varchar(255) NOT NULL, + \`token\` varchar(255) NULL, + \`deaf\` tinyint NOT NULL, + \`mute\` tinyint NOT NULL, + \`self_deaf\` tinyint NOT NULL, + \`self_mute\` tinyint NOT NULL, + \`self_stream\` tinyint NULL, + \`self_video\` tinyint NOT NULL, + \`suppress\` tinyint NOT NULL, + \`request_to_speak_timestamp\` datetime NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`channels\` ( + \`id\` varchar(255) NOT NULL, + \`created_at\` datetime NOT NULL, + \`name\` varchar(255) NULL, + \`icon\` text NULL, + \`type\` int NOT NULL, + \`last_message_id\` varchar(255) NULL, + \`guild_id\` varchar(255) NULL, + \`parent_id\` varchar(255) NULL, + \`owner_id\` varchar(255) NULL, + \`last_pin_timestamp\` int NULL, + \`default_auto_archive_duration\` int NULL, + \`position\` int NULL, + \`permission_overwrites\` text NULL, + \`video_quality_mode\` int NULL, + \`bitrate\` int NULL, + \`user_limit\` int NULL, + \`nsfw\` tinyint NULL, + \`rate_limit_per_user\` int NULL, + \`topic\` varchar(255) NULL, + \`retention_policy_id\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`emojis\` ( + \`id\` varchar(255) NOT NULL, + \`animated\` tinyint NOT NULL, + \`available\` tinyint NOT NULL, + \`guild_id\` varchar(255) NOT NULL, + \`user_id\` varchar(255) NULL, + \`managed\` tinyint NOT NULL, + \`name\` varchar(255) NOT NULL, + \`require_colons\` tinyint NOT NULL, + \`roles\` text NOT NULL, + \`groups\` text NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`templates\` ( + \`id\` varchar(255) NOT NULL, + \`code\` varchar(255) NOT NULL, + \`name\` varchar(255) NOT NULL, + \`description\` varchar(255) NULL, + \`usage_count\` int NULL, + \`creator_id\` varchar(255) NULL, + \`created_at\` datetime NOT NULL, + \`updated_at\` datetime NOT NULL, + \`source_guild_id\` varchar(255) NULL, + \`serialized_source_guild\` text NOT NULL, + UNIQUE INDEX \`IDX_be38737bf339baf63b1daeffb5\` (\`code\`), + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`guilds\` ( + \`id\` varchar(255) NOT NULL, + \`afk_channel_id\` varchar(255) NULL, + \`afk_timeout\` int NULL, + \`banner\` varchar(255) NULL, + \`default_message_notifications\` int NULL, + \`description\` varchar(255) NULL, + \`discovery_splash\` varchar(255) NULL, + \`explicit_content_filter\` int NULL, + \`features\` text NOT NULL, + \`primary_category_id\` int NULL, + \`icon\` varchar(255) NULL, + \`large\` tinyint NULL, + \`max_members\` int NULL, + \`max_presences\` int NULL, + \`max_video_channel_users\` int NULL, + \`member_count\` int NULL, + \`presence_count\` int NULL, + \`template_id\` varchar(255) NULL, + \`mfa_level\` int NULL, + \`name\` varchar(255) NOT NULL, + \`owner_id\` varchar(255) NULL, + \`preferred_locale\` varchar(255) NULL, + \`premium_subscription_count\` int NULL, + \`premium_tier\` int NULL, + \`public_updates_channel_id\` varchar(255) NULL, + \`rules_channel_id\` varchar(255) NULL, + \`region\` varchar(255) NULL, + \`splash\` varchar(255) NULL, + \`system_channel_id\` varchar(255) NULL, + \`system_channel_flags\` int NULL, + \`unavailable\` tinyint NULL, + \`verification_level\` int NULL, + \`welcome_screen\` text NOT NULL, + \`widget_channel_id\` varchar(255) NULL, + \`widget_enabled\` tinyint NULL, + \`nsfw_level\` int NULL, + \`nsfw\` tinyint NULL, + \`parent\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`team_members\` ( + \`id\` varchar(255) NOT NULL, + \`membership_state\` int NOT NULL, + \`permissions\` text NOT NULL, + \`team_id\` varchar(255) NULL, + \`user_id\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`teams\` ( + \`id\` varchar(255) NOT NULL, + \`icon\` varchar(255) NULL, + \`name\` varchar(255) NOT NULL, + \`owner_user_id\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`applications\` ( + \`id\` varchar(255) NOT NULL, + \`name\` varchar(255) NOT NULL, + \`icon\` varchar(255) NULL, + \`description\` varchar(255) NOT NULL, + \`rpc_origins\` text NULL, + \`bot_public\` tinyint NOT NULL, + \`bot_require_code_grant\` tinyint NOT NULL, + \`terms_of_service_url\` varchar(255) NULL, + \`privacy_policy_url\` varchar(255) NULL, + \`summary\` varchar(255) NULL, + \`verify_key\` varchar(255) NOT NULL, + \`primary_sku_id\` varchar(255) NULL, + \`slug\` varchar(255) NULL, + \`cover_image\` varchar(255) NULL, + \`flags\` varchar(255) NOT NULL, + \`owner_id\` varchar(255) NULL, + \`team_id\` varchar(255) NULL, + \`guild_id\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`audit_logs\` ( + \`id\` varchar(255) NOT NULL, + \`user_id\` varchar(255) NULL, + \`action_type\` int NOT NULL, + \`options\` text NULL, + \`changes\` text NOT NULL, + \`reason\` varchar(255) NULL, + \`target_id\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`categories\` ( + \`id\` int NOT NULL, + \`name\` varchar(255) NULL, + \`localizations\` text NOT NULL, + \`is_primary\` tinyint NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`rate_limits\` ( + \`id\` varchar(255) NOT NULL, + \`executor_id\` varchar(255) NOT NULL, + \`hits\` int NOT NULL, + \`blocked\` tinyint NOT NULL, + \`expires_at\` datetime NOT NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`sessions\` ( + \`id\` varchar(255) NOT NULL, + \`user_id\` varchar(255) NULL, + \`session_id\` varchar(255) NOT NULL, + \`activities\` text NULL, + \`client_info\` text NOT NULL, + \`status\` varchar(255) NOT NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`sticker_packs\` ( + \`id\` varchar(255) NOT NULL, + \`name\` varchar(255) NOT NULL, + \`description\` varchar(255) NULL, + \`banner_asset_id\` varchar(255) NULL, + \`cover_sticker_id\` varchar(255) NULL, + \`coverStickerId\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`client_release\` ( + \`id\` varchar(255) NOT NULL, + \`name\` varchar(255) NOT NULL, + \`pub_date\` varchar(255) NOT NULL, + \`url\` varchar(255) NOT NULL, + \`deb_url\` varchar(255) NOT NULL, + \`osx_url\` varchar(255) NOT NULL, + \`win_url\` varchar(255) NOT NULL, + \`notes\` varchar(255) NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`notes\` ( + \`id\` varchar(255) NOT NULL, + \`content\` varchar(255) NOT NULL, + \`owner_id\` varchar(255) NULL, + \`target_id\` varchar(255) NULL, + UNIQUE INDEX \`IDX_74e6689b9568cc965b8bfc9150\` (\`owner_id\`, \`target_id\`), + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`member_roles\` ( + \`index\` int NOT NULL, + \`role_id\` varchar(255) NOT NULL, + INDEX \`IDX_5d7ddc8a5f9c167f548625e772\` (\`index\`), + INDEX \`IDX_e9080e7a7997a0170026d5139c\` (\`role_id\`), + PRIMARY KEY (\`index\`, \`role_id\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`message_user_mentions\` ( + \`messagesId\` varchar(255) NOT NULL, + \`usersId\` varchar(255) NOT NULL, + INDEX \`IDX_a343387fc560ef378760681c23\` (\`messagesId\`), + INDEX \`IDX_b831eb18ceebd28976239b1e2f\` (\`usersId\`), + PRIMARY KEY (\`messagesId\`, \`usersId\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`message_role_mentions\` ( + \`messagesId\` varchar(255) NOT NULL, + \`rolesId\` varchar(255) NOT NULL, + INDEX \`IDX_a8242cf535337a490b0feaea0b\` (\`messagesId\`), + INDEX \`IDX_29d63eb1a458200851bc37d074\` (\`rolesId\`), + PRIMARY KEY (\`messagesId\`, \`rolesId\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`message_channel_mentions\` ( + \`messagesId\` varchar(255) NOT NULL, + \`channelsId\` varchar(255) NOT NULL, + INDEX \`IDX_2a27102ecd1d81b4582a436092\` (\`messagesId\`), + INDEX \`IDX_bdb8c09e1464cabf62105bf4b9\` (\`channelsId\`), + PRIMARY KEY (\`messagesId\`, \`channelsId\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + CREATE TABLE \`message_stickers\` ( + \`messagesId\` varchar(255) NOT NULL, + \`stickersId\` varchar(255) NOT NULL, + INDEX \`IDX_40bb6f23e7cc133292e92829d2\` (\`messagesId\`), + INDEX \`IDX_e22a70819d07659c7a71c112a1\` (\`stickersId\`), + PRIMARY KEY (\`messagesId\`, \`stickersId\`) + ) ENGINE = InnoDB + `); + await queryRunner.query(` + ALTER TABLE \`relationships\` + ADD CONSTRAINT \`FK_9af4194bab1250b1c584ae4f1d7\` FOREIGN KEY (\`from_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`relationships\` + ADD CONSTRAINT \`FK_9c7f6b98a9843b76dce1b0c878b\` FOREIGN KEY (\`to_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`connected_accounts\` + ADD CONSTRAINT \`FK_f47244225a6a1eac04a3463dd90\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`backup_codes\` + ADD CONSTRAINT \`FK_70066ea80d2f4b871beda32633b\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`bans\` + ADD CONSTRAINT \`FK_5999e8e449f80a236ff72023559\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`bans\` + ADD CONSTRAINT \`FK_9d3ab7dd180ebdd245cdb66ecad\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`bans\` + ADD CONSTRAINT \`FK_07ad88c86d1f290d46748410d58\` FOREIGN KEY (\`executor_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`recipients\` + ADD CONSTRAINT \`FK_2f18ee1ba667f233ae86c0ea60e\` FOREIGN KEY (\`channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`recipients\` + ADD CONSTRAINT \`FK_6157e8b6ba4e6e3089616481fe2\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`roles\` + ADD CONSTRAINT \`FK_c32c1ab1c4dc7dcb0278c4b1b8b\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`members\` + ADD CONSTRAINT \`FK_28b53062261b996d9c99fa12404\` FOREIGN KEY (\`id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`members\` + ADD CONSTRAINT \`FK_16aceddd5b89825b8ed6029ad1c\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` + ADD CONSTRAINT \`FK_487a7af59d189f744fe394368fc\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` + ADD CONSTRAINT \`FK_df528cf77e82f8032230e7e37d8\` FOREIGN KEY (\`channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` + ADD CONSTRAINT \`FK_c3e5305461931763b56aa905f1c\` FOREIGN KEY (\`application_id\`) REFERENCES \`applications\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` + ADD CONSTRAINT \`FK_0d523f6f997c86e052c49b1455f\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` + ADD CONSTRAINT \`FK_3a285f4f49c40e0706d3018bc9f\` FOREIGN KEY (\`source_guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`stickers\` + ADD CONSTRAINT \`FK_e7cfa5cefa6661b3fb8fda8ce69\` FOREIGN KEY (\`pack_id\`) REFERENCES \`sticker_packs\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`stickers\` + ADD CONSTRAINT \`FK_193d551d852aca5347ef5c9f205\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`stickers\` + ADD CONSTRAINT \`FK_8f4ee73f2bb2325ff980502e158\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`attachments\` + ADD CONSTRAINT \`FK_623e10eec51ada466c5038979e3\` FOREIGN KEY (\`message_id\`) REFERENCES \`messages\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`messages\` + ADD CONSTRAINT \`FK_86b9109b155eb70c0a2ca3b4b6d\` FOREIGN KEY (\`channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`messages\` + ADD CONSTRAINT \`FK_b193588441b085352a4c0109423\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`messages\` + ADD CONSTRAINT \`FK_05535bc695e9f7ee104616459d3\` FOREIGN KEY (\`author_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`messages\` + ADD CONSTRAINT \`FK_b0525304f2262b7014245351c76\` FOREIGN KEY (\`member_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`messages\` + ADD CONSTRAINT \`FK_f83c04bcf1df4e5c0e7a52ed348\` FOREIGN KEY (\`webhook_id\`) REFERENCES \`webhooks\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`messages\` + ADD CONSTRAINT \`FK_5d3ec1cb962de6488637fd779d6\` FOREIGN KEY (\`application_id\`) REFERENCES \`applications\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`messages\` + ADD CONSTRAINT \`FK_61a92bb65b302a76d9c1fcd3174\` FOREIGN KEY (\`message_reference_id\`) REFERENCES \`messages\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`read_states\` + ADD CONSTRAINT \`FK_40da2fca4e0eaf7a23b5bfc5d34\` FOREIGN KEY (\`channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`read_states\` + ADD CONSTRAINT \`FK_195f92e4dd1254a4e348c043763\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`invites\` + ADD CONSTRAINT \`FK_3f4939aa1461e8af57fea3fb05d\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`invites\` + ADD CONSTRAINT \`FK_6a15b051fe5050aa00a4b9ff0f6\` FOREIGN KEY (\`channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`invites\` + ADD CONSTRAINT \`FK_15c35422032e0b22b4ada95f48f\` FOREIGN KEY (\`inviter_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`invites\` + ADD CONSTRAINT \`FK_11a0d394f8fc649c19ce5f16b59\` FOREIGN KEY (\`target_user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`voice_states\` + ADD CONSTRAINT \`FK_03779ef216d4b0358470d9cb748\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`voice_states\` + ADD CONSTRAINT \`FK_9f8d389866b40b6657edd026dd4\` FOREIGN KEY (\`channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`voice_states\` + ADD CONSTRAINT \`FK_5fe1d5f931a67e85039c640001b\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`channels\` + ADD CONSTRAINT \`FK_c253dafe5f3a03ec00cd8fb4581\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`channels\` + ADD CONSTRAINT \`FK_3274522d14af40540b1a883fc80\` FOREIGN KEY (\`parent_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`channels\` + ADD CONSTRAINT \`FK_3873ed438575cce703ecff4fc7b\` FOREIGN KEY (\`owner_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`emojis\` + ADD CONSTRAINT \`FK_4b988e0db89d94cebcf07f598cc\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`emojis\` + ADD CONSTRAINT \`FK_fa7ddd5f9a214e28ce596548421\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`templates\` + ADD CONSTRAINT \`FK_d7374b7f8f5fbfdececa4fb62e1\` FOREIGN KEY (\`creator_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`templates\` + ADD CONSTRAINT \`FK_445d00eaaea0e60a017a5ed0c11\` FOREIGN KEY (\`source_guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` + ADD CONSTRAINT \`FK_f591a66b8019d87b0fe6c12dad6\` FOREIGN KEY (\`afk_channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` + ADD CONSTRAINT \`FK_e2a2f873a64a5cf62526de42325\` FOREIGN KEY (\`template_id\`) REFERENCES \`templates\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` + ADD CONSTRAINT \`FK_fc1a451727e3643ca572a3bb394\` FOREIGN KEY (\`owner_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` + ADD CONSTRAINT \`FK_8d450b016dc8bec35f36729e4b0\` FOREIGN KEY (\`public_updates_channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` + ADD CONSTRAINT \`FK_95828668aa333460582e0ca6396\` FOREIGN KEY (\`rules_channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` + ADD CONSTRAINT \`FK_cfc3d3ad260f8121c95b31a1fce\` FOREIGN KEY (\`system_channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` + ADD CONSTRAINT \`FK_9d1d665379eefde7876a17afa99\` FOREIGN KEY (\`widget_channel_id\`) REFERENCES \`channels\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`team_members\` + ADD CONSTRAINT \`FK_fdad7d5768277e60c40e01cdcea\` FOREIGN KEY (\`team_id\`) REFERENCES \`teams\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`team_members\` + ADD CONSTRAINT \`FK_c2bf4967c8c2a6b845dadfbf3d4\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`teams\` + ADD CONSTRAINT \`FK_13f00abf7cb6096c43ecaf8c108\` FOREIGN KEY (\`owner_user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD CONSTRAINT \`FK_e57508958bf92b9d9d25231b5e8\` FOREIGN KEY (\`owner_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD CONSTRAINT \`FK_a36ed02953077f408d0f3ebc424\` FOREIGN KEY (\`team_id\`) REFERENCES \`teams\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`applications\` + ADD CONSTRAINT \`FK_e5bf78cdbbe9ba91062d74c5aba\` FOREIGN KEY (\`guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`audit_logs\` + ADD CONSTRAINT \`FK_3cd01cd3ae7aab010310d96ac8e\` FOREIGN KEY (\`target_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`audit_logs\` + ADD CONSTRAINT \`FK_bd2726fd31b35443f2245b93ba0\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`sessions\` + ADD CONSTRAINT \`FK_085d540d9f418cfbdc7bd55bb19\` FOREIGN KEY (\`user_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`sticker_packs\` + ADD CONSTRAINT \`FK_448fafba4355ee1c837bbc865f1\` FOREIGN KEY (\`coverStickerId\`) REFERENCES \`stickers\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`notes\` + ADD CONSTRAINT \`FK_f9e103f8ae67cb1787063597925\` FOREIGN KEY (\`owner_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`notes\` + ADD CONSTRAINT \`FK_23e08e5b4481711d573e1abecdc\` FOREIGN KEY (\`target_id\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE \`member_roles\` + ADD CONSTRAINT \`FK_5d7ddc8a5f9c167f548625e772e\` FOREIGN KEY (\`index\`) REFERENCES \`members\`(\`index\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`member_roles\` + ADD CONSTRAINT \`FK_e9080e7a7997a0170026d5139c1\` FOREIGN KEY (\`role_id\`) REFERENCES \`roles\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`message_user_mentions\` + ADD CONSTRAINT \`FK_a343387fc560ef378760681c236\` FOREIGN KEY (\`messagesId\`) REFERENCES \`messages\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`message_user_mentions\` + ADD CONSTRAINT \`FK_b831eb18ceebd28976239b1e2f8\` FOREIGN KEY (\`usersId\`) REFERENCES \`users\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`message_role_mentions\` + ADD CONSTRAINT \`FK_a8242cf535337a490b0feaea0b4\` FOREIGN KEY (\`messagesId\`) REFERENCES \`messages\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`message_role_mentions\` + ADD CONSTRAINT \`FK_29d63eb1a458200851bc37d074b\` FOREIGN KEY (\`rolesId\`) REFERENCES \`roles\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`message_channel_mentions\` + ADD CONSTRAINT \`FK_2a27102ecd1d81b4582a4360921\` FOREIGN KEY (\`messagesId\`) REFERENCES \`messages\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`message_channel_mentions\` + ADD CONSTRAINT \`FK_bdb8c09e1464cabf62105bf4b9d\` FOREIGN KEY (\`channelsId\`) REFERENCES \`channels\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`message_stickers\` + ADD CONSTRAINT \`FK_40bb6f23e7cc133292e92829d28\` FOREIGN KEY (\`messagesId\`) REFERENCES \`messages\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE \`message_stickers\` + ADD CONSTRAINT \`FK_e22a70819d07659c7a71c112a1f\` FOREIGN KEY (\`stickersId\`) REFERENCES \`stickers\`(\`id\`) ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + CREATE TABLE \`query-result-cache\` ( + \`id\` int NOT NULL AUTO_INCREMENT, + \`identifier\` varchar(255) NULL, + \`time\` bigint NOT NULL, + \`duration\` int NOT NULL, + \`query\` text NOT NULL, + \`result\` text NOT NULL, + PRIMARY KEY (\`id\`) + ) ENGINE = InnoDB + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + DROP TABLE \`query-result-cache\` + `); + await queryRunner.query(` + ALTER TABLE \`message_stickers\` DROP FOREIGN KEY \`FK_e22a70819d07659c7a71c112a1f\` + `); + await queryRunner.query(` + ALTER TABLE \`message_stickers\` DROP FOREIGN KEY \`FK_40bb6f23e7cc133292e92829d28\` + `); + await queryRunner.query(` + ALTER TABLE \`message_channel_mentions\` DROP FOREIGN KEY \`FK_bdb8c09e1464cabf62105bf4b9d\` + `); + await queryRunner.query(` + ALTER TABLE \`message_channel_mentions\` DROP FOREIGN KEY \`FK_2a27102ecd1d81b4582a4360921\` + `); + await queryRunner.query(` + ALTER TABLE \`message_role_mentions\` DROP FOREIGN KEY \`FK_29d63eb1a458200851bc37d074b\` + `); + await queryRunner.query(` + ALTER TABLE \`message_role_mentions\` DROP FOREIGN KEY \`FK_a8242cf535337a490b0feaea0b4\` + `); + await queryRunner.query(` + ALTER TABLE \`message_user_mentions\` DROP FOREIGN KEY \`FK_b831eb18ceebd28976239b1e2f8\` + `); + await queryRunner.query(` + ALTER TABLE \`message_user_mentions\` DROP FOREIGN KEY \`FK_a343387fc560ef378760681c236\` + `); + await queryRunner.query(` + ALTER TABLE \`member_roles\` DROP FOREIGN KEY \`FK_e9080e7a7997a0170026d5139c1\` + `); + await queryRunner.query(` + ALTER TABLE \`member_roles\` DROP FOREIGN KEY \`FK_5d7ddc8a5f9c167f548625e772e\` + `); + await queryRunner.query(` + ALTER TABLE \`notes\` DROP FOREIGN KEY \`FK_23e08e5b4481711d573e1abecdc\` + `); + await queryRunner.query(` + ALTER TABLE \`notes\` DROP FOREIGN KEY \`FK_f9e103f8ae67cb1787063597925\` + `); + await queryRunner.query(` + ALTER TABLE \`sticker_packs\` DROP FOREIGN KEY \`FK_448fafba4355ee1c837bbc865f1\` + `); + await queryRunner.query(` + ALTER TABLE \`sessions\` DROP FOREIGN KEY \`FK_085d540d9f418cfbdc7bd55bb19\` + `); + await queryRunner.query(` + ALTER TABLE \`audit_logs\` DROP FOREIGN KEY \`FK_bd2726fd31b35443f2245b93ba0\` + `); + await queryRunner.query(` + ALTER TABLE \`audit_logs\` DROP FOREIGN KEY \`FK_3cd01cd3ae7aab010310d96ac8e\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP FOREIGN KEY \`FK_e5bf78cdbbe9ba91062d74c5aba\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP FOREIGN KEY \`FK_a36ed02953077f408d0f3ebc424\` + `); + await queryRunner.query(` + ALTER TABLE \`applications\` DROP FOREIGN KEY \`FK_e57508958bf92b9d9d25231b5e8\` + `); + await queryRunner.query(` + ALTER TABLE \`teams\` DROP FOREIGN KEY \`FK_13f00abf7cb6096c43ecaf8c108\` + `); + await queryRunner.query(` + ALTER TABLE \`team_members\` DROP FOREIGN KEY \`FK_c2bf4967c8c2a6b845dadfbf3d4\` + `); + await queryRunner.query(` + ALTER TABLE \`team_members\` DROP FOREIGN KEY \`FK_fdad7d5768277e60c40e01cdcea\` + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` DROP FOREIGN KEY \`FK_9d1d665379eefde7876a17afa99\` + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` DROP FOREIGN KEY \`FK_cfc3d3ad260f8121c95b31a1fce\` + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` DROP FOREIGN KEY \`FK_95828668aa333460582e0ca6396\` + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` DROP FOREIGN KEY \`FK_8d450b016dc8bec35f36729e4b0\` + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` DROP FOREIGN KEY \`FK_fc1a451727e3643ca572a3bb394\` + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` DROP FOREIGN KEY \`FK_e2a2f873a64a5cf62526de42325\` + `); + await queryRunner.query(` + ALTER TABLE \`guilds\` DROP FOREIGN KEY \`FK_f591a66b8019d87b0fe6c12dad6\` + `); + await queryRunner.query(` + ALTER TABLE \`templates\` DROP FOREIGN KEY \`FK_445d00eaaea0e60a017a5ed0c11\` + `); + await queryRunner.query(` + ALTER TABLE \`templates\` DROP FOREIGN KEY \`FK_d7374b7f8f5fbfdececa4fb62e1\` + `); + await queryRunner.query(` + ALTER TABLE \`emojis\` DROP FOREIGN KEY \`FK_fa7ddd5f9a214e28ce596548421\` + `); + await queryRunner.query(` + ALTER TABLE \`emojis\` DROP FOREIGN KEY \`FK_4b988e0db89d94cebcf07f598cc\` + `); + await queryRunner.query(` + ALTER TABLE \`channels\` DROP FOREIGN KEY \`FK_3873ed438575cce703ecff4fc7b\` + `); + await queryRunner.query(` + ALTER TABLE \`channels\` DROP FOREIGN KEY \`FK_3274522d14af40540b1a883fc80\` + `); + await queryRunner.query(` + ALTER TABLE \`channels\` DROP FOREIGN KEY \`FK_c253dafe5f3a03ec00cd8fb4581\` + `); + await queryRunner.query(` + ALTER TABLE \`voice_states\` DROP FOREIGN KEY \`FK_5fe1d5f931a67e85039c640001b\` + `); + await queryRunner.query(` + ALTER TABLE \`voice_states\` DROP FOREIGN KEY \`FK_9f8d389866b40b6657edd026dd4\` + `); + await queryRunner.query(` + ALTER TABLE \`voice_states\` DROP FOREIGN KEY \`FK_03779ef216d4b0358470d9cb748\` + `); + await queryRunner.query(` + ALTER TABLE \`invites\` DROP FOREIGN KEY \`FK_11a0d394f8fc649c19ce5f16b59\` + `); + await queryRunner.query(` + ALTER TABLE \`invites\` DROP FOREIGN KEY \`FK_15c35422032e0b22b4ada95f48f\` + `); + await queryRunner.query(` + ALTER TABLE \`invites\` DROP FOREIGN KEY \`FK_6a15b051fe5050aa00a4b9ff0f6\` + `); + await queryRunner.query(` + ALTER TABLE \`invites\` DROP FOREIGN KEY \`FK_3f4939aa1461e8af57fea3fb05d\` + `); + await queryRunner.query(` + ALTER TABLE \`read_states\` DROP FOREIGN KEY \`FK_195f92e4dd1254a4e348c043763\` + `); + await queryRunner.query(` + ALTER TABLE \`read_states\` DROP FOREIGN KEY \`FK_40da2fca4e0eaf7a23b5bfc5d34\` + `); + await queryRunner.query(` + ALTER TABLE \`messages\` DROP FOREIGN KEY \`FK_61a92bb65b302a76d9c1fcd3174\` + `); + await queryRunner.query(` + ALTER TABLE \`messages\` DROP FOREIGN KEY \`FK_5d3ec1cb962de6488637fd779d6\` + `); + await queryRunner.query(` + ALTER TABLE \`messages\` DROP FOREIGN KEY \`FK_f83c04bcf1df4e5c0e7a52ed348\` + `); + await queryRunner.query(` + ALTER TABLE \`messages\` DROP FOREIGN KEY \`FK_b0525304f2262b7014245351c76\` + `); + await queryRunner.query(` + ALTER TABLE \`messages\` DROP FOREIGN KEY \`FK_05535bc695e9f7ee104616459d3\` + `); + await queryRunner.query(` + ALTER TABLE \`messages\` DROP FOREIGN KEY \`FK_b193588441b085352a4c0109423\` + `); + await queryRunner.query(` + ALTER TABLE \`messages\` DROP FOREIGN KEY \`FK_86b9109b155eb70c0a2ca3b4b6d\` + `); + await queryRunner.query(` + ALTER TABLE \`attachments\` DROP FOREIGN KEY \`FK_623e10eec51ada466c5038979e3\` + `); + await queryRunner.query(` + ALTER TABLE \`stickers\` DROP FOREIGN KEY \`FK_8f4ee73f2bb2325ff980502e158\` + `); + await queryRunner.query(` + ALTER TABLE \`stickers\` DROP FOREIGN KEY \`FK_193d551d852aca5347ef5c9f205\` + `); + await queryRunner.query(` + ALTER TABLE \`stickers\` DROP FOREIGN KEY \`FK_e7cfa5cefa6661b3fb8fda8ce69\` + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` DROP FOREIGN KEY \`FK_3a285f4f49c40e0706d3018bc9f\` + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` DROP FOREIGN KEY \`FK_0d523f6f997c86e052c49b1455f\` + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` DROP FOREIGN KEY \`FK_c3e5305461931763b56aa905f1c\` + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` DROP FOREIGN KEY \`FK_df528cf77e82f8032230e7e37d8\` + `); + await queryRunner.query(` + ALTER TABLE \`webhooks\` DROP FOREIGN KEY \`FK_487a7af59d189f744fe394368fc\` + `); + await queryRunner.query(` + ALTER TABLE \`members\` DROP FOREIGN KEY \`FK_16aceddd5b89825b8ed6029ad1c\` + `); + await queryRunner.query(` + ALTER TABLE \`members\` DROP FOREIGN KEY \`FK_28b53062261b996d9c99fa12404\` + `); + await queryRunner.query(` + ALTER TABLE \`roles\` DROP FOREIGN KEY \`FK_c32c1ab1c4dc7dcb0278c4b1b8b\` + `); + await queryRunner.query(` + ALTER TABLE \`recipients\` DROP FOREIGN KEY \`FK_6157e8b6ba4e6e3089616481fe2\` + `); + await queryRunner.query(` + ALTER TABLE \`recipients\` DROP FOREIGN KEY \`FK_2f18ee1ba667f233ae86c0ea60e\` + `); + await queryRunner.query(` + ALTER TABLE \`bans\` DROP FOREIGN KEY \`FK_07ad88c86d1f290d46748410d58\` + `); + await queryRunner.query(` + ALTER TABLE \`bans\` DROP FOREIGN KEY \`FK_9d3ab7dd180ebdd245cdb66ecad\` + `); + await queryRunner.query(` + ALTER TABLE \`bans\` DROP FOREIGN KEY \`FK_5999e8e449f80a236ff72023559\` + `); + await queryRunner.query(` + ALTER TABLE \`backup_codes\` DROP FOREIGN KEY \`FK_70066ea80d2f4b871beda32633b\` + `); + await queryRunner.query(` + ALTER TABLE \`connected_accounts\` DROP FOREIGN KEY \`FK_f47244225a6a1eac04a3463dd90\` + `); + await queryRunner.query(` + ALTER TABLE \`relationships\` DROP FOREIGN KEY \`FK_9c7f6b98a9843b76dce1b0c878b\` + `); + await queryRunner.query(` + ALTER TABLE \`relationships\` DROP FOREIGN KEY \`FK_9af4194bab1250b1c584ae4f1d7\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_e22a70819d07659c7a71c112a1\` ON \`message_stickers\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_40bb6f23e7cc133292e92829d2\` ON \`message_stickers\` + `); + await queryRunner.query(` + DROP TABLE \`message_stickers\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_bdb8c09e1464cabf62105bf4b9\` ON \`message_channel_mentions\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_2a27102ecd1d81b4582a436092\` ON \`message_channel_mentions\` + `); + await queryRunner.query(` + DROP TABLE \`message_channel_mentions\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_29d63eb1a458200851bc37d074\` ON \`message_role_mentions\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_a8242cf535337a490b0feaea0b\` ON \`message_role_mentions\` + `); + await queryRunner.query(` + DROP TABLE \`message_role_mentions\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_b831eb18ceebd28976239b1e2f\` ON \`message_user_mentions\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_a343387fc560ef378760681c23\` ON \`message_user_mentions\` + `); + await queryRunner.query(` + DROP TABLE \`message_user_mentions\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_e9080e7a7997a0170026d5139c\` ON \`member_roles\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_5d7ddc8a5f9c167f548625e772\` ON \`member_roles\` + `); + await queryRunner.query(` + DROP TABLE \`member_roles\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_74e6689b9568cc965b8bfc9150\` ON \`notes\` + `); + await queryRunner.query(` + DROP TABLE \`notes\` + `); + await queryRunner.query(` + DROP TABLE \`client_release\` + `); + await queryRunner.query(` + DROP TABLE \`sticker_packs\` + `); + await queryRunner.query(` + DROP TABLE \`sessions\` + `); + await queryRunner.query(` + DROP TABLE \`rate_limits\` + `); + await queryRunner.query(` + DROP TABLE \`categories\` + `); + await queryRunner.query(` + DROP TABLE \`audit_logs\` + `); + await queryRunner.query(` + DROP TABLE \`applications\` + `); + await queryRunner.query(` + DROP TABLE \`teams\` + `); + await queryRunner.query(` + DROP TABLE \`team_members\` + `); + await queryRunner.query(` + DROP TABLE \`guilds\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_be38737bf339baf63b1daeffb5\` ON \`templates\` + `); + await queryRunner.query(` + DROP TABLE \`templates\` + `); + await queryRunner.query(` + DROP TABLE \`emojis\` + `); + await queryRunner.query(` + DROP TABLE \`channels\` + `); + await queryRunner.query(` + DROP TABLE \`voice_states\` + `); + await queryRunner.query(` + DROP TABLE \`invites\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_0abf8b443321bd3cf7f81ee17a\` ON \`read_states\` + `); + await queryRunner.query(` + DROP TABLE \`read_states\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_3ed7a60fb7dbe04e1ba9332a8b\` ON \`messages\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_05535bc695e9f7ee104616459d\` ON \`messages\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_86b9109b155eb70c0a2ca3b4b6\` ON \`messages\` + `); + await queryRunner.query(` + DROP TABLE \`messages\` + `); + await queryRunner.query(` + DROP TABLE \`attachments\` + `); + await queryRunner.query(` + DROP TABLE \`stickers\` + `); + await queryRunner.query(` + DROP TABLE \`webhooks\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_bb2bf9386ac443afbbbf9f12d3\` ON \`members\` + `); + await queryRunner.query(` + DROP TABLE \`members\` + `); + await queryRunner.query(` + DROP TABLE \`roles\` + `); + await queryRunner.query(` + DROP TABLE \`recipients\` + `); + await queryRunner.query(` + DROP TABLE \`bans\` + `); + await queryRunner.query(` + DROP TABLE \`backup_codes\` + `); + await queryRunner.query(` + DROP TABLE \`users\` + `); + await queryRunner.query(` + DROP TABLE \`connected_accounts\` + `); + await queryRunner.query(` + DROP INDEX \`IDX_a0b2ff0a598df0b0d055934a17\` ON \`relationships\` + `); + await queryRunner.query(` + DROP TABLE \`relationships\` + `); + await queryRunner.query(` + DROP TABLE \`config\` + `); + } + +} diff --git a/util/src/migrations/postgres/1659833042721-test.ts b/util/src/migrations/postgres/1659833042721-test.ts deleted file mode 100644 index 0820cca7..00000000 --- a/util/src/migrations/postgres/1659833042721-test.ts +++ /dev/null @@ -1,3539 +0,0 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; - -export class test1659833042721 implements MigrationInterface { - name = 'test1659833042721' - - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - CREATE TABLE "config" ("key" varchar PRIMARY KEY NOT NULL, "value" text) - `); - await queryRunner.query(` - CREATE TABLE "relationships" ( - "id" varchar PRIMARY KEY NOT NULL, - "from_id" varchar NOT NULL, - "to_id" varchar NOT NULL, - "nickname" varchar, - "type" integer NOT NULL - ) - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON "relationships" ("from_id", "to_id") - `); - await queryRunner.query(` - CREATE TABLE "connected_accounts" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "access_token" varchar NOT NULL, - "friend_sync" boolean NOT NULL, - "name" varchar NOT NULL, - "revoked" boolean NOT NULL, - "show_activity" boolean NOT NULL, - "type" varchar NOT NULL, - "verified" boolean NOT NULL, - "visibility" integer NOT NULL - ) - `); - await queryRunner.query(` - CREATE TABLE "users" ( - "id" varchar PRIMARY KEY NOT NULL, - "username" varchar NOT NULL, - "discriminator" varchar NOT NULL, - "avatar" varchar, - "accent_color" integer, - "banner" varchar, - "phone" varchar, - "desktop" boolean NOT NULL, - "mobile" boolean NOT NULL, - "premium" boolean NOT NULL, - "premium_type" integer NOT NULL, - "bot" boolean NOT NULL, - "bio" varchar NOT NULL, - "system" boolean NOT NULL, - "nsfw_allowed" boolean NOT NULL, - "mfa_enabled" boolean NOT NULL, - "totp_secret" varchar, - "totp_last_ticket" varchar, - "created_at" datetime NOT NULL, - "premium_since" datetime, - "verified" boolean NOT NULL, - "disabled" boolean NOT NULL, - "deleted" boolean NOT NULL, - "email" varchar, - "flags" varchar NOT NULL, - "public_flags" integer NOT NULL, - "rights" bigint NOT NULL, - "data" text NOT NULL, - "fingerprints" text NOT NULL, - "settings" text NOT NULL, - "extended_settings" text NOT NULL, - "notes" text NOT NULL - ) - `); - await queryRunner.query(` - CREATE TABLE "backup_codes" ( - "id" varchar PRIMARY KEY NOT NULL, - "code" varchar NOT NULL, - "consumed" boolean NOT NULL, - "expired" boolean NOT NULL, - "user_id" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "bans" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "guild_id" varchar, - "executor_id" varchar, - "ip" varchar NOT NULL, - "reason" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "recipients" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar NOT NULL, - "user_id" varchar NOT NULL, - "closed" boolean NOT NULL DEFAULT (0) - ) - `); - await queryRunner.query(` - CREATE TABLE "roles" ( - "id" varchar PRIMARY KEY NOT NULL, - "guild_id" varchar, - "color" integer NOT NULL, - "hoist" boolean NOT NULL, - "managed" boolean NOT NULL, - "mentionable" boolean NOT NULL, - "name" varchar NOT NULL, - "permissions" varchar NOT NULL, - "position" integer NOT NULL, - "icon" varchar, - "unicode_emoji" varchar, - "tags" text - ) - `); - await queryRunner.query(` - CREATE TABLE "members" ( - "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, - "id" varchar NOT NULL, - "guild_id" varchar NOT NULL, - "nick" varchar, - "joined_at" datetime NOT NULL, - "premium_since" bigint, - "deaf" boolean NOT NULL, - "mute" boolean NOT NULL, - "pending" boolean NOT NULL, - "settings" text NOT NULL, - "last_message_id" varchar, - "joined_by" varchar - ) - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") - `); - await queryRunner.query(` - CREATE TABLE "webhooks" ( - "id" varchar PRIMARY KEY NOT NULL, - "type" integer NOT NULL, - "name" varchar, - "avatar" varchar, - "token" varchar, - "guild_id" varchar, - "channel_id" varchar, - "application_id" varchar, - "user_id" varchar, - "source_guild_id" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "stickers" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "available" boolean, - "tags" varchar, - "pack_id" varchar, - "guild_id" varchar, - "user_id" varchar, - "type" integer NOT NULL, - "format_type" integer NOT NULL - ) - `); - await queryRunner.query(` - CREATE TABLE "attachments" ( - "id" varchar PRIMARY KEY NOT NULL, - "filename" varchar NOT NULL, - "size" integer NOT NULL, - "url" varchar NOT NULL, - "proxy_url" varchar NOT NULL, - "height" integer, - "width" integer, - "content_type" varchar, - "message_id" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "messages" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar, - "guild_id" varchar, - "author_id" varchar, - "member_id" varchar, - "webhook_id" varchar, - "application_id" varchar, - "content" varchar, - "timestamp" datetime NOT NULL DEFAULT (datetime('now')), - "edited_timestamp" datetime, - "tts" boolean, - "mention_everyone" boolean, - "embeds" text NOT NULL, - "reactions" text NOT NULL, - "nonce" text, - "pinned" boolean, - "type" integer NOT NULL, - "activity" text, - "flags" varchar, - "message_reference" text, - "interaction" text, - "components" text, - "message_reference_id" varchar - ) - `); - await queryRunner.query(` - CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON "messages" ("channel_id") - `); - await queryRunner.query(` - CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON "messages" ("author_id") - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON "messages" ("channel_id", "id") - `); - await queryRunner.query(` - CREATE TABLE "read_states" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar NOT NULL, - "user_id" varchar NOT NULL, - "last_message_id" varchar, - "public_ack" varchar, - "notifications_cursor" varchar, - "last_pin_timestamp" datetime, - "mention_count" integer - ) - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON "read_states" ("channel_id", "user_id") - `); - await queryRunner.query(` - CREATE TABLE "invites" ( - "code" varchar PRIMARY KEY NOT NULL, - "temporary" boolean NOT NULL, - "uses" integer NOT NULL, - "max_uses" integer NOT NULL, - "max_age" integer NOT NULL, - "created_at" datetime NOT NULL, - "expires_at" datetime NOT NULL, - "guild_id" varchar, - "channel_id" varchar, - "inviter_id" varchar, - "target_user_id" varchar, - "target_user_type" integer, - "vanity_url" boolean - ) - `); - await queryRunner.query(` - CREATE TABLE "voice_states" ( - "id" varchar PRIMARY KEY NOT NULL, - "guild_id" varchar, - "channel_id" varchar, - "user_id" varchar, - "session_id" varchar NOT NULL, - "token" varchar, - "deaf" boolean NOT NULL, - "mute" boolean NOT NULL, - "self_deaf" boolean NOT NULL, - "self_mute" boolean NOT NULL, - "self_stream" boolean, - "self_video" boolean NOT NULL, - "suppress" boolean NOT NULL, - "request_to_speak_timestamp" datetime - ) - `); - await queryRunner.query(` - CREATE TABLE "channels" ( - "id" varchar PRIMARY KEY NOT NULL, - "created_at" datetime NOT NULL, - "name" varchar, - "icon" text, - "type" integer NOT NULL, - "last_message_id" varchar, - "guild_id" varchar, - "parent_id" varchar, - "owner_id" varchar, - "last_pin_timestamp" integer, - "default_auto_archive_duration" integer, - "position" integer, - "permission_overwrites" text, - "video_quality_mode" integer, - "bitrate" integer, - "user_limit" integer, - "nsfw" boolean, - "rate_limit_per_user" integer, - "topic" varchar, - "retention_policy_id" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "emojis" ( - "id" varchar PRIMARY KEY NOT NULL, - "animated" boolean NOT NULL, - "available" boolean NOT NULL, - "guild_id" varchar NOT NULL, - "user_id" varchar, - "managed" boolean NOT NULL, - "name" varchar NOT NULL, - "require_colons" boolean NOT NULL, - "roles" text NOT NULL, - "groups" text - ) - `); - await queryRunner.query(` - CREATE TABLE "templates" ( - "id" varchar PRIMARY KEY NOT NULL, - "code" varchar NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "usage_count" integer, - "creator_id" varchar, - "created_at" datetime NOT NULL, - "updated_at" datetime NOT NULL, - "source_guild_id" varchar, - "serialized_source_guild" text NOT NULL, - CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE ("code") - ) - `); - await queryRunner.query(` - CREATE TABLE "guilds" ( - "id" varchar PRIMARY KEY NOT NULL, - "afk_channel_id" varchar, - "afk_timeout" integer, - "banner" varchar, - "default_message_notifications" integer, - "description" varchar, - "discovery_splash" varchar, - "explicit_content_filter" integer, - "features" text NOT NULL, - "primary_category_id" integer, - "icon" varchar, - "large" boolean, - "max_members" integer, - "max_presences" integer, - "max_video_channel_users" integer, - "member_count" integer, - "presence_count" integer, - "template_id" varchar, - "mfa_level" integer, - "name" varchar NOT NULL, - "owner_id" varchar, - "preferred_locale" varchar, - "premium_subscription_count" integer, - "premium_tier" integer, - "public_updates_channel_id" varchar, - "rules_channel_id" varchar, - "region" varchar, - "splash" varchar, - "system_channel_id" varchar, - "system_channel_flags" integer, - "unavailable" boolean, - "verification_level" integer, - "welcome_screen" text NOT NULL, - "widget_channel_id" varchar, - "widget_enabled" boolean, - "nsfw_level" integer, - "nsfw" boolean, - "parent" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "team_members" ( - "id" varchar PRIMARY KEY NOT NULL, - "membership_state" integer NOT NULL, - "permissions" text NOT NULL, - "team_id" varchar, - "user_id" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "teams" ( - "id" varchar PRIMARY KEY NOT NULL, - "icon" varchar, - "name" varchar NOT NULL, - "owner_user_id" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "rpc_origins" text, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "primary_sku_id" varchar, - "slug" varchar, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "guild_id" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "audit_logs" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "action_type" integer NOT NULL, - "options" text, - "changes" text NOT NULL, - "reason" varchar, - "target_id" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "categories" ( - "id" integer PRIMARY KEY NOT NULL, - "name" varchar, - "localizations" text NOT NULL, - "is_primary" boolean - ) - `); - await queryRunner.query(` - CREATE TABLE "migrations" ( - "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, - "timestamp" bigint NOT NULL, - "name" varchar NOT NULL - ) - `); - await queryRunner.query(` - CREATE TABLE "rate_limits" ( - "id" varchar PRIMARY KEY NOT NULL, - "executor_id" varchar NOT NULL, - "hits" integer NOT NULL, - "blocked" boolean NOT NULL, - "expires_at" datetime NOT NULL - ) - `); - await queryRunner.query(` - CREATE TABLE "sessions" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "session_id" varchar NOT NULL, - "activities" text, - "client_info" text NOT NULL, - "status" varchar NOT NULL - ) - `); - await queryRunner.query(` - CREATE TABLE "sticker_packs" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "banner_asset_id" varchar, - "cover_sticker_id" varchar, - "coverStickerId" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "client_release" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "pub_date" varchar NOT NULL, - "url" varchar NOT NULL, - "deb_url" varchar NOT NULL, - "osx_url" varchar NOT NULL, - "win_url" varchar NOT NULL, - "notes" varchar - ) - `); - await queryRunner.query(` - CREATE TABLE "notes" ( - "id" varchar PRIMARY KEY NOT NULL, - "content" varchar NOT NULL, - "owner_id" varchar, - "target_id" varchar, - CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE ("owner_id", "target_id") - ) - `); - await queryRunner.query(` - CREATE TABLE "member_roles" ( - "index" integer NOT NULL, - "role_id" varchar NOT NULL, - PRIMARY KEY ("index", "role_id") - ) - `); - await queryRunner.query(` - CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON "member_roles" ("index") - `); - await queryRunner.query(` - CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON "member_roles" ("role_id") - `); - await queryRunner.query(` - CREATE TABLE "message_user_mentions" ( - "messagesId" varchar NOT NULL, - "usersId" varchar NOT NULL, - PRIMARY KEY ("messagesId", "usersId") - ) - `); - await queryRunner.query(` - CREATE INDEX "IDX_a343387fc560ef378760681c23" ON "message_user_mentions" ("messagesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON "message_user_mentions" ("usersId") - `); - await queryRunner.query(` - CREATE TABLE "message_role_mentions" ( - "messagesId" varchar NOT NULL, - "rolesId" varchar NOT NULL, - PRIMARY KEY ("messagesId", "rolesId") - ) - `); - await queryRunner.query(` - CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON "message_role_mentions" ("messagesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON "message_role_mentions" ("rolesId") - `); - await queryRunner.query(` - CREATE TABLE "message_channel_mentions" ( - "messagesId" varchar NOT NULL, - "channelsId" varchar NOT NULL, - PRIMARY KEY ("messagesId", "channelsId") - ) - `); - await queryRunner.query(` - CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON "message_channel_mentions" ("messagesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON "message_channel_mentions" ("channelsId") - `); - await queryRunner.query(` - CREATE TABLE "message_stickers" ( - "messagesId" varchar NOT NULL, - "stickersId" varchar NOT NULL, - PRIMARY KEY ("messagesId", "stickersId") - ) - `); - await queryRunner.query(` - CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON "message_stickers" ("messagesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON "message_stickers" ("stickersId") - `); - await queryRunner.query(` - DROP INDEX "IDX_a0b2ff0a598df0b0d055934a17" - `); - await queryRunner.query(` - CREATE TABLE "temporary_relationships" ( - "id" varchar PRIMARY KEY NOT NULL, - "from_id" varchar NOT NULL, - "to_id" varchar NOT NULL, - "nickname" varchar, - "type" integer NOT NULL, - CONSTRAINT "FK_9af4194bab1250b1c584ae4f1d7" FOREIGN KEY ("from_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_9c7f6b98a9843b76dce1b0c878b" FOREIGN KEY ("to_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_relationships"("id", "from_id", "to_id", "nickname", "type") - SELECT "id", - "from_id", - "to_id", - "nickname", - "type" - FROM "relationships" - `); - await queryRunner.query(` - DROP TABLE "relationships" - `); - await queryRunner.query(` - ALTER TABLE "temporary_relationships" - RENAME TO "relationships" - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON "relationships" ("from_id", "to_id") - `); - await queryRunner.query(` - CREATE TABLE "temporary_connected_accounts" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "access_token" varchar NOT NULL, - "friend_sync" boolean NOT NULL, - "name" varchar NOT NULL, - "revoked" boolean NOT NULL, - "show_activity" boolean NOT NULL, - "type" varchar NOT NULL, - "verified" boolean NOT NULL, - "visibility" integer NOT NULL, - CONSTRAINT "FK_f47244225a6a1eac04a3463dd90" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_connected_accounts"( - "id", - "user_id", - "access_token", - "friend_sync", - "name", - "revoked", - "show_activity", - "type", - "verified", - "visibility" - ) - SELECT "id", - "user_id", - "access_token", - "friend_sync", - "name", - "revoked", - "show_activity", - "type", - "verified", - "visibility" - FROM "connected_accounts" - `); - await queryRunner.query(` - DROP TABLE "connected_accounts" - `); - await queryRunner.query(` - ALTER TABLE "temporary_connected_accounts" - RENAME TO "connected_accounts" - `); - await queryRunner.query(` - CREATE TABLE "temporary_backup_codes" ( - "id" varchar PRIMARY KEY NOT NULL, - "code" varchar NOT NULL, - "consumed" boolean NOT NULL, - "expired" boolean NOT NULL, - "user_id" varchar, - CONSTRAINT "FK_70066ea80d2f4b871beda32633b" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_backup_codes"("id", "code", "consumed", "expired", "user_id") - SELECT "id", - "code", - "consumed", - "expired", - "user_id" - FROM "backup_codes" - `); - await queryRunner.query(` - DROP TABLE "backup_codes" - `); - await queryRunner.query(` - ALTER TABLE "temporary_backup_codes" - RENAME TO "backup_codes" - `); - await queryRunner.query(` - CREATE TABLE "temporary_bans" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "guild_id" varchar, - "executor_id" varchar, - "ip" varchar NOT NULL, - "reason" varchar, - CONSTRAINT "FK_5999e8e449f80a236ff72023559" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_9d3ab7dd180ebdd245cdb66ecad" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_07ad88c86d1f290d46748410d58" FOREIGN KEY ("executor_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_bans"( - "id", - "user_id", - "guild_id", - "executor_id", - "ip", - "reason" - ) - SELECT "id", - "user_id", - "guild_id", - "executor_id", - "ip", - "reason" - FROM "bans" - `); - await queryRunner.query(` - DROP TABLE "bans" - `); - await queryRunner.query(` - ALTER TABLE "temporary_bans" - RENAME TO "bans" - `); - await queryRunner.query(` - CREATE TABLE "temporary_recipients" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar NOT NULL, - "user_id" varchar NOT NULL, - "closed" boolean NOT NULL DEFAULT (0), - CONSTRAINT "FK_2f18ee1ba667f233ae86c0ea60e" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_6157e8b6ba4e6e3089616481fe2" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_recipients"("id", "channel_id", "user_id", "closed") - SELECT "id", - "channel_id", - "user_id", - "closed" - FROM "recipients" - `); - await queryRunner.query(` - DROP TABLE "recipients" - `); - await queryRunner.query(` - ALTER TABLE "temporary_recipients" - RENAME TO "recipients" - `); - await queryRunner.query(` - CREATE TABLE "temporary_roles" ( - "id" varchar PRIMARY KEY NOT NULL, - "guild_id" varchar, - "color" integer NOT NULL, - "hoist" boolean NOT NULL, - "managed" boolean NOT NULL, - "mentionable" boolean NOT NULL, - "name" varchar NOT NULL, - "permissions" varchar NOT NULL, - "position" integer NOT NULL, - "icon" varchar, - "unicode_emoji" varchar, - "tags" text, - CONSTRAINT "FK_c32c1ab1c4dc7dcb0278c4b1b8b" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_roles"( - "id", - "guild_id", - "color", - "hoist", - "managed", - "mentionable", - "name", - "permissions", - "position", - "icon", - "unicode_emoji", - "tags" - ) - SELECT "id", - "guild_id", - "color", - "hoist", - "managed", - "mentionable", - "name", - "permissions", - "position", - "icon", - "unicode_emoji", - "tags" - FROM "roles" - `); - await queryRunner.query(` - DROP TABLE "roles" - `); - await queryRunner.query(` - ALTER TABLE "temporary_roles" - RENAME TO "roles" - `); - await queryRunner.query(` - DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" - `); - await queryRunner.query(` - CREATE TABLE "temporary_members" ( - "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, - "id" varchar NOT NULL, - "guild_id" varchar NOT NULL, - "nick" varchar, - "joined_at" datetime NOT NULL, - "premium_since" bigint, - "deaf" boolean NOT NULL, - "mute" boolean NOT NULL, - "pending" boolean NOT NULL, - "settings" text NOT NULL, - "last_message_id" varchar, - "joined_by" varchar, - CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY ("id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_members"( - "index", - "id", - "guild_id", - "nick", - "joined_at", - "premium_since", - "deaf", - "mute", - "pending", - "settings", - "last_message_id", - "joined_by" - ) - SELECT "index", - "id", - "guild_id", - "nick", - "joined_at", - "premium_since", - "deaf", - "mute", - "pending", - "settings", - "last_message_id", - "joined_by" - FROM "members" - `); - await queryRunner.query(` - DROP TABLE "members" - `); - await queryRunner.query(` - ALTER TABLE "temporary_members" - RENAME TO "members" - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") - `); - await queryRunner.query(` - CREATE TABLE "temporary_webhooks" ( - "id" varchar PRIMARY KEY NOT NULL, - "type" integer NOT NULL, - "name" varchar, - "avatar" varchar, - "token" varchar, - "guild_id" varchar, - "channel_id" varchar, - "application_id" varchar, - "user_id" varchar, - "source_guild_id" varchar, - CONSTRAINT "FK_487a7af59d189f744fe394368fc" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_df528cf77e82f8032230e7e37d8" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_c3e5305461931763b56aa905f1c" FOREIGN KEY ("application_id") REFERENCES "applications" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_0d523f6f997c86e052c49b1455f" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_3a285f4f49c40e0706d3018bc9f" FOREIGN KEY ("source_guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_webhooks"( - "id", - "type", - "name", - "avatar", - "token", - "guild_id", - "channel_id", - "application_id", - "user_id", - "source_guild_id" - ) - SELECT "id", - "type", - "name", - "avatar", - "token", - "guild_id", - "channel_id", - "application_id", - "user_id", - "source_guild_id" - FROM "webhooks" - `); - await queryRunner.query(` - DROP TABLE "webhooks" - `); - await queryRunner.query(` - ALTER TABLE "temporary_webhooks" - RENAME TO "webhooks" - `); - await queryRunner.query(` - CREATE TABLE "temporary_stickers" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "available" boolean, - "tags" varchar, - "pack_id" varchar, - "guild_id" varchar, - "user_id" varchar, - "type" integer NOT NULL, - "format_type" integer NOT NULL, - CONSTRAINT "FK_e7cfa5cefa6661b3fb8fda8ce69" FOREIGN KEY ("pack_id") REFERENCES "sticker_packs" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_193d551d852aca5347ef5c9f205" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_8f4ee73f2bb2325ff980502e158" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_stickers"( - "id", - "name", - "description", - "available", - "tags", - "pack_id", - "guild_id", - "user_id", - "type", - "format_type" - ) - SELECT "id", - "name", - "description", - "available", - "tags", - "pack_id", - "guild_id", - "user_id", - "type", - "format_type" - FROM "stickers" - `); - await queryRunner.query(` - DROP TABLE "stickers" - `); - await queryRunner.query(` - ALTER TABLE "temporary_stickers" - RENAME TO "stickers" - `); - await queryRunner.query(` - CREATE TABLE "temporary_attachments" ( - "id" varchar PRIMARY KEY NOT NULL, - "filename" varchar NOT NULL, - "size" integer NOT NULL, - "url" varchar NOT NULL, - "proxy_url" varchar NOT NULL, - "height" integer, - "width" integer, - "content_type" varchar, - "message_id" varchar, - CONSTRAINT "FK_623e10eec51ada466c5038979e3" FOREIGN KEY ("message_id") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_attachments"( - "id", - "filename", - "size", - "url", - "proxy_url", - "height", - "width", - "content_type", - "message_id" - ) - SELECT "id", - "filename", - "size", - "url", - "proxy_url", - "height", - "width", - "content_type", - "message_id" - FROM "attachments" - `); - await queryRunner.query(` - DROP TABLE "attachments" - `); - await queryRunner.query(` - ALTER TABLE "temporary_attachments" - RENAME TO "attachments" - `); - await queryRunner.query(` - DROP INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" - `); - await queryRunner.query(` - DROP INDEX "IDX_05535bc695e9f7ee104616459d" - `); - await queryRunner.query(` - DROP INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" - `); - await queryRunner.query(` - CREATE TABLE "temporary_messages" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar, - "guild_id" varchar, - "author_id" varchar, - "member_id" varchar, - "webhook_id" varchar, - "application_id" varchar, - "content" varchar, - "timestamp" datetime NOT NULL DEFAULT (datetime('now')), - "edited_timestamp" datetime, - "tts" boolean, - "mention_everyone" boolean, - "embeds" text NOT NULL, - "reactions" text NOT NULL, - "nonce" text, - "pinned" boolean, - "type" integer NOT NULL, - "activity" text, - "flags" varchar, - "message_reference" text, - "interaction" text, - "components" text, - "message_reference_id" varchar, - CONSTRAINT "FK_86b9109b155eb70c0a2ca3b4b6d" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_b193588441b085352a4c0109423" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_05535bc695e9f7ee104616459d3" FOREIGN KEY ("author_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_b0525304f2262b7014245351c76" FOREIGN KEY ("member_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_f83c04bcf1df4e5c0e7a52ed348" FOREIGN KEY ("webhook_id") REFERENCES "webhooks" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_5d3ec1cb962de6488637fd779d6" FOREIGN KEY ("application_id") REFERENCES "applications" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_61a92bb65b302a76d9c1fcd3174" FOREIGN KEY ("message_reference_id") REFERENCES "messages" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_messages"( - "id", - "channel_id", - "guild_id", - "author_id", - "member_id", - "webhook_id", - "application_id", - "content", - "timestamp", - "edited_timestamp", - "tts", - "mention_everyone", - "embeds", - "reactions", - "nonce", - "pinned", - "type", - "activity", - "flags", - "message_reference", - "interaction", - "components", - "message_reference_id" - ) - SELECT "id", - "channel_id", - "guild_id", - "author_id", - "member_id", - "webhook_id", - "application_id", - "content", - "timestamp", - "edited_timestamp", - "tts", - "mention_everyone", - "embeds", - "reactions", - "nonce", - "pinned", - "type", - "activity", - "flags", - "message_reference", - "interaction", - "components", - "message_reference_id" - FROM "messages" - `); - await queryRunner.query(` - DROP TABLE "messages" - `); - await queryRunner.query(` - ALTER TABLE "temporary_messages" - RENAME TO "messages" - `); - await queryRunner.query(` - CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON "messages" ("channel_id") - `); - await queryRunner.query(` - CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON "messages" ("author_id") - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON "messages" ("channel_id", "id") - `); - await queryRunner.query(` - DROP INDEX "IDX_0abf8b443321bd3cf7f81ee17a" - `); - await queryRunner.query(` - CREATE TABLE "temporary_read_states" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar NOT NULL, - "user_id" varchar NOT NULL, - "last_message_id" varchar, - "public_ack" varchar, - "notifications_cursor" varchar, - "last_pin_timestamp" datetime, - "mention_count" integer, - CONSTRAINT "FK_40da2fca4e0eaf7a23b5bfc5d34" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_195f92e4dd1254a4e348c043763" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_read_states"( - "id", - "channel_id", - "user_id", - "last_message_id", - "public_ack", - "notifications_cursor", - "last_pin_timestamp", - "mention_count" - ) - SELECT "id", - "channel_id", - "user_id", - "last_message_id", - "public_ack", - "notifications_cursor", - "last_pin_timestamp", - "mention_count" - FROM "read_states" - `); - await queryRunner.query(` - DROP TABLE "read_states" - `); - await queryRunner.query(` - ALTER TABLE "temporary_read_states" - RENAME TO "read_states" - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON "read_states" ("channel_id", "user_id") - `); - await queryRunner.query(` - CREATE TABLE "temporary_invites" ( - "code" varchar PRIMARY KEY NOT NULL, - "temporary" boolean NOT NULL, - "uses" integer NOT NULL, - "max_uses" integer NOT NULL, - "max_age" integer NOT NULL, - "created_at" datetime NOT NULL, - "expires_at" datetime NOT NULL, - "guild_id" varchar, - "channel_id" varchar, - "inviter_id" varchar, - "target_user_id" varchar, - "target_user_type" integer, - "vanity_url" boolean, - CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY ("inviter_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY ("target_user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_invites"( - "code", - "temporary", - "uses", - "max_uses", - "max_age", - "created_at", - "expires_at", - "guild_id", - "channel_id", - "inviter_id", - "target_user_id", - "target_user_type", - "vanity_url" - ) - SELECT "code", - "temporary", - "uses", - "max_uses", - "max_age", - "created_at", - "expires_at", - "guild_id", - "channel_id", - "inviter_id", - "target_user_id", - "target_user_type", - "vanity_url" - FROM "invites" - `); - await queryRunner.query(` - DROP TABLE "invites" - `); - await queryRunner.query(` - ALTER TABLE "temporary_invites" - RENAME TO "invites" - `); - await queryRunner.query(` - CREATE TABLE "temporary_voice_states" ( - "id" varchar PRIMARY KEY NOT NULL, - "guild_id" varchar, - "channel_id" varchar, - "user_id" varchar, - "session_id" varchar NOT NULL, - "token" varchar, - "deaf" boolean NOT NULL, - "mute" boolean NOT NULL, - "self_deaf" boolean NOT NULL, - "self_mute" boolean NOT NULL, - "self_stream" boolean, - "self_video" boolean NOT NULL, - "suppress" boolean NOT NULL, - "request_to_speak_timestamp" datetime, - CONSTRAINT "FK_03779ef216d4b0358470d9cb748" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_9f8d389866b40b6657edd026dd4" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_5fe1d5f931a67e85039c640001b" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_voice_states"( - "id", - "guild_id", - "channel_id", - "user_id", - "session_id", - "token", - "deaf", - "mute", - "self_deaf", - "self_mute", - "self_stream", - "self_video", - "suppress", - "request_to_speak_timestamp" - ) - SELECT "id", - "guild_id", - "channel_id", - "user_id", - "session_id", - "token", - "deaf", - "mute", - "self_deaf", - "self_mute", - "self_stream", - "self_video", - "suppress", - "request_to_speak_timestamp" - FROM "voice_states" - `); - await queryRunner.query(` - DROP TABLE "voice_states" - `); - await queryRunner.query(` - ALTER TABLE "temporary_voice_states" - RENAME TO "voice_states" - `); - await queryRunner.query(` - CREATE TABLE "temporary_channels" ( - "id" varchar PRIMARY KEY NOT NULL, - "created_at" datetime NOT NULL, - "name" varchar, - "icon" text, - "type" integer NOT NULL, - "last_message_id" varchar, - "guild_id" varchar, - "parent_id" varchar, - "owner_id" varchar, - "last_pin_timestamp" integer, - "default_auto_archive_duration" integer, - "position" integer, - "permission_overwrites" text, - "video_quality_mode" integer, - "bitrate" integer, - "user_limit" integer, - "nsfw" boolean, - "rate_limit_per_user" integer, - "topic" varchar, - "retention_policy_id" varchar, - CONSTRAINT "FK_c253dafe5f3a03ec00cd8fb4581" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_3274522d14af40540b1a883fc80" FOREIGN KEY ("parent_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_3873ed438575cce703ecff4fc7b" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_channels"( - "id", - "created_at", - "name", - "icon", - "type", - "last_message_id", - "guild_id", - "parent_id", - "owner_id", - "last_pin_timestamp", - "default_auto_archive_duration", - "position", - "permission_overwrites", - "video_quality_mode", - "bitrate", - "user_limit", - "nsfw", - "rate_limit_per_user", - "topic", - "retention_policy_id" - ) - SELECT "id", - "created_at", - "name", - "icon", - "type", - "last_message_id", - "guild_id", - "parent_id", - "owner_id", - "last_pin_timestamp", - "default_auto_archive_duration", - "position", - "permission_overwrites", - "video_quality_mode", - "bitrate", - "user_limit", - "nsfw", - "rate_limit_per_user", - "topic", - "retention_policy_id" - FROM "channels" - `); - await queryRunner.query(` - DROP TABLE "channels" - `); - await queryRunner.query(` - ALTER TABLE "temporary_channels" - RENAME TO "channels" - `); - await queryRunner.query(` - CREATE TABLE "temporary_emojis" ( - "id" varchar PRIMARY KEY NOT NULL, - "animated" boolean NOT NULL, - "available" boolean NOT NULL, - "guild_id" varchar NOT NULL, - "user_id" varchar, - "managed" boolean NOT NULL, - "name" varchar NOT NULL, - "require_colons" boolean NOT NULL, - "roles" text NOT NULL, - "groups" text, - CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_fa7ddd5f9a214e28ce596548421" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_emojis"( - "id", - "animated", - "available", - "guild_id", - "user_id", - "managed", - "name", - "require_colons", - "roles", - "groups" - ) - SELECT "id", - "animated", - "available", - "guild_id", - "user_id", - "managed", - "name", - "require_colons", - "roles", - "groups" - FROM "emojis" - `); - await queryRunner.query(` - DROP TABLE "emojis" - `); - await queryRunner.query(` - ALTER TABLE "temporary_emojis" - RENAME TO "emojis" - `); - await queryRunner.query(` - CREATE TABLE "temporary_templates" ( - "id" varchar PRIMARY KEY NOT NULL, - "code" varchar NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "usage_count" integer, - "creator_id" varchar, - "created_at" datetime NOT NULL, - "updated_at" datetime NOT NULL, - "source_guild_id" varchar, - "serialized_source_guild" text NOT NULL, - CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE ("code"), - CONSTRAINT "FK_d7374b7f8f5fbfdececa4fb62e1" FOREIGN KEY ("creator_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" FOREIGN KEY ("source_guild_id") REFERENCES "guilds" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_templates"( - "id", - "code", - "name", - "description", - "usage_count", - "creator_id", - "created_at", - "updated_at", - "source_guild_id", - "serialized_source_guild" - ) - SELECT "id", - "code", - "name", - "description", - "usage_count", - "creator_id", - "created_at", - "updated_at", - "source_guild_id", - "serialized_source_guild" - FROM "templates" - `); - await queryRunner.query(` - DROP TABLE "templates" - `); - await queryRunner.query(` - ALTER TABLE "temporary_templates" - RENAME TO "templates" - `); - await queryRunner.query(` - CREATE TABLE "temporary_guilds" ( - "id" varchar PRIMARY KEY NOT NULL, - "afk_channel_id" varchar, - "afk_timeout" integer, - "banner" varchar, - "default_message_notifications" integer, - "description" varchar, - "discovery_splash" varchar, - "explicit_content_filter" integer, - "features" text NOT NULL, - "primary_category_id" integer, - "icon" varchar, - "large" boolean, - "max_members" integer, - "max_presences" integer, - "max_video_channel_users" integer, - "member_count" integer, - "presence_count" integer, - "template_id" varchar, - "mfa_level" integer, - "name" varchar NOT NULL, - "owner_id" varchar, - "preferred_locale" varchar, - "premium_subscription_count" integer, - "premium_tier" integer, - "public_updates_channel_id" varchar, - "rules_channel_id" varchar, - "region" varchar, - "splash" varchar, - "system_channel_id" varchar, - "system_channel_flags" integer, - "unavailable" boolean, - "verification_level" integer, - "welcome_screen" text NOT NULL, - "widget_channel_id" varchar, - "widget_enabled" boolean, - "nsfw_level" integer, - "nsfw" boolean, - "parent" varchar, - CONSTRAINT "FK_f591a66b8019d87b0fe6c12dad6" FOREIGN KEY ("afk_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_e2a2f873a64a5cf62526de42325" FOREIGN KEY ("template_id") REFERENCES "templates" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_fc1a451727e3643ca572a3bb394" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_8d450b016dc8bec35f36729e4b0" FOREIGN KEY ("public_updates_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_95828668aa333460582e0ca6396" FOREIGN KEY ("rules_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_cfc3d3ad260f8121c95b31a1fce" FOREIGN KEY ("system_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_9d1d665379eefde7876a17afa99" FOREIGN KEY ("widget_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_guilds"( - "id", - "afk_channel_id", - "afk_timeout", - "banner", - "default_message_notifications", - "description", - "discovery_splash", - "explicit_content_filter", - "features", - "primary_category_id", - "icon", - "large", - "max_members", - "max_presences", - "max_video_channel_users", - "member_count", - "presence_count", - "template_id", - "mfa_level", - "name", - "owner_id", - "preferred_locale", - "premium_subscription_count", - "premium_tier", - "public_updates_channel_id", - "rules_channel_id", - "region", - "splash", - "system_channel_id", - "system_channel_flags", - "unavailable", - "verification_level", - "welcome_screen", - "widget_channel_id", - "widget_enabled", - "nsfw_level", - "nsfw", - "parent" - ) - SELECT "id", - "afk_channel_id", - "afk_timeout", - "banner", - "default_message_notifications", - "description", - "discovery_splash", - "explicit_content_filter", - "features", - "primary_category_id", - "icon", - "large", - "max_members", - "max_presences", - "max_video_channel_users", - "member_count", - "presence_count", - "template_id", - "mfa_level", - "name", - "owner_id", - "preferred_locale", - "premium_subscription_count", - "premium_tier", - "public_updates_channel_id", - "rules_channel_id", - "region", - "splash", - "system_channel_id", - "system_channel_flags", - "unavailable", - "verification_level", - "welcome_screen", - "widget_channel_id", - "widget_enabled", - "nsfw_level", - "nsfw", - "parent" - FROM "guilds" - `); - await queryRunner.query(` - DROP TABLE "guilds" - `); - await queryRunner.query(` - ALTER TABLE "temporary_guilds" - RENAME TO "guilds" - `); - await queryRunner.query(` - CREATE TABLE "temporary_team_members" ( - "id" varchar PRIMARY KEY NOT NULL, - "membership_state" integer NOT NULL, - "permissions" text NOT NULL, - "team_id" varchar, - "user_id" varchar, - CONSTRAINT "FK_fdad7d5768277e60c40e01cdcea" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_team_members"( - "id", - "membership_state", - "permissions", - "team_id", - "user_id" - ) - SELECT "id", - "membership_state", - "permissions", - "team_id", - "user_id" - FROM "team_members" - `); - await queryRunner.query(` - DROP TABLE "team_members" - `); - await queryRunner.query(` - ALTER TABLE "temporary_team_members" - RENAME TO "team_members" - `); - await queryRunner.query(` - CREATE TABLE "temporary_teams" ( - "id" varchar PRIMARY KEY NOT NULL, - "icon" varchar, - "name" varchar NOT NULL, - "owner_user_id" varchar, - CONSTRAINT "FK_13f00abf7cb6096c43ecaf8c108" FOREIGN KEY ("owner_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_teams"("id", "icon", "name", "owner_user_id") - SELECT "id", - "icon", - "name", - "owner_user_id" - FROM "teams" - `); - await queryRunner.query(` - DROP TABLE "teams" - `); - await queryRunner.query(` - ALTER TABLE "temporary_teams" - RENAME TO "teams" - `); - await queryRunner.query(` - CREATE TABLE "temporary_applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "rpc_origins" text, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "primary_sku_id" varchar, - "slug" varchar, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "guild_id" varchar, - CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_applications"( - "id", - "name", - "icon", - "description", - "rpc_origins", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "primary_sku_id", - "slug", - "cover_image", - "flags", - "owner_id", - "team_id", - "guild_id" - ) - SELECT "id", - "name", - "icon", - "description", - "rpc_origins", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "primary_sku_id", - "slug", - "cover_image", - "flags", - "owner_id", - "team_id", - "guild_id" - FROM "applications" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - ALTER TABLE "temporary_applications" - RENAME TO "applications" - `); - await queryRunner.query(` - CREATE TABLE "temporary_audit_logs" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "action_type" integer NOT NULL, - "options" text, - "changes" text NOT NULL, - "reason" varchar, - "target_id" varchar, - CONSTRAINT "FK_3cd01cd3ae7aab010310d96ac8e" FOREIGN KEY ("target_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT "FK_bd2726fd31b35443f2245b93ba0" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_audit_logs"( - "id", - "user_id", - "action_type", - "options", - "changes", - "reason", - "target_id" - ) - SELECT "id", - "user_id", - "action_type", - "options", - "changes", - "reason", - "target_id" - FROM "audit_logs" - `); - await queryRunner.query(` - DROP TABLE "audit_logs" - `); - await queryRunner.query(` - ALTER TABLE "temporary_audit_logs" - RENAME TO "audit_logs" - `); - await queryRunner.query(` - CREATE TABLE "temporary_sessions" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "session_id" varchar NOT NULL, - "activities" text, - "client_info" text NOT NULL, - "status" varchar NOT NULL, - CONSTRAINT "FK_085d540d9f418cfbdc7bd55bb19" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_sessions"( - "id", - "user_id", - "session_id", - "activities", - "client_info", - "status" - ) - SELECT "id", - "user_id", - "session_id", - "activities", - "client_info", - "status" - FROM "sessions" - `); - await queryRunner.query(` - DROP TABLE "sessions" - `); - await queryRunner.query(` - ALTER TABLE "temporary_sessions" - RENAME TO "sessions" - `); - await queryRunner.query(` - CREATE TABLE "temporary_sticker_packs" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "banner_asset_id" varchar, - "cover_sticker_id" varchar, - "coverStickerId" varchar, - CONSTRAINT "FK_448fafba4355ee1c837bbc865f1" FOREIGN KEY ("coverStickerId") REFERENCES "stickers" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_sticker_packs"( - "id", - "name", - "description", - "banner_asset_id", - "cover_sticker_id", - "coverStickerId" - ) - SELECT "id", - "name", - "description", - "banner_asset_id", - "cover_sticker_id", - "coverStickerId" - FROM "sticker_packs" - `); - await queryRunner.query(` - DROP TABLE "sticker_packs" - `); - await queryRunner.query(` - ALTER TABLE "temporary_sticker_packs" - RENAME TO "sticker_packs" - `); - await queryRunner.query(` - CREATE TABLE "temporary_notes" ( - "id" varchar PRIMARY KEY NOT NULL, - "content" varchar NOT NULL, - "owner_id" varchar, - "target_id" varchar, - CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE ("owner_id", "target_id"), - CONSTRAINT "FK_f9e103f8ae67cb1787063597925" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, - CONSTRAINT "FK_23e08e5b4481711d573e1abecdc" FOREIGN KEY ("target_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_notes"("id", "content", "owner_id", "target_id") - SELECT "id", - "content", - "owner_id", - "target_id" - FROM "notes" - `); - await queryRunner.query(` - DROP TABLE "notes" - `); - await queryRunner.query(` - ALTER TABLE "temporary_notes" - RENAME TO "notes" - `); - await queryRunner.query(` - DROP INDEX "IDX_5d7ddc8a5f9c167f548625e772" - `); - await queryRunner.query(` - DROP INDEX "IDX_e9080e7a7997a0170026d5139c" - `); - await queryRunner.query(` - CREATE TABLE "temporary_member_roles" ( - "index" integer NOT NULL, - "role_id" varchar NOT NULL, - CONSTRAINT "FK_5d7ddc8a5f9c167f548625e772e" FOREIGN KEY ("index") REFERENCES "members" ("index") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "FK_e9080e7a7997a0170026d5139c1" FOREIGN KEY ("role_id") REFERENCES "roles" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY ("index", "role_id") - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_member_roles"("index", "role_id") - SELECT "index", - "role_id" - FROM "member_roles" - `); - await queryRunner.query(` - DROP TABLE "member_roles" - `); - await queryRunner.query(` - ALTER TABLE "temporary_member_roles" - RENAME TO "member_roles" - `); - await queryRunner.query(` - CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON "member_roles" ("index") - `); - await queryRunner.query(` - CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON "member_roles" ("role_id") - `); - await queryRunner.query(` - DROP INDEX "IDX_a343387fc560ef378760681c23" - `); - await queryRunner.query(` - DROP INDEX "IDX_b831eb18ceebd28976239b1e2f" - `); - await queryRunner.query(` - CREATE TABLE "temporary_message_user_mentions" ( - "messagesId" varchar NOT NULL, - "usersId" varchar NOT NULL, - CONSTRAINT "FK_a343387fc560ef378760681c236" FOREIGN KEY ("messagesId") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "FK_b831eb18ceebd28976239b1e2f8" FOREIGN KEY ("usersId") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY ("messagesId", "usersId") - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_message_user_mentions"("messagesId", "usersId") - SELECT "messagesId", - "usersId" - FROM "message_user_mentions" - `); - await queryRunner.query(` - DROP TABLE "message_user_mentions" - `); - await queryRunner.query(` - ALTER TABLE "temporary_message_user_mentions" - RENAME TO "message_user_mentions" - `); - await queryRunner.query(` - CREATE INDEX "IDX_a343387fc560ef378760681c23" ON "message_user_mentions" ("messagesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON "message_user_mentions" ("usersId") - `); - await queryRunner.query(` - DROP INDEX "IDX_a8242cf535337a490b0feaea0b" - `); - await queryRunner.query(` - DROP INDEX "IDX_29d63eb1a458200851bc37d074" - `); - await queryRunner.query(` - CREATE TABLE "temporary_message_role_mentions" ( - "messagesId" varchar NOT NULL, - "rolesId" varchar NOT NULL, - CONSTRAINT "FK_a8242cf535337a490b0feaea0b4" FOREIGN KEY ("messagesId") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "FK_29d63eb1a458200851bc37d074b" FOREIGN KEY ("rolesId") REFERENCES "roles" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY ("messagesId", "rolesId") - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_message_role_mentions"("messagesId", "rolesId") - SELECT "messagesId", - "rolesId" - FROM "message_role_mentions" - `); - await queryRunner.query(` - DROP TABLE "message_role_mentions" - `); - await queryRunner.query(` - ALTER TABLE "temporary_message_role_mentions" - RENAME TO "message_role_mentions" - `); - await queryRunner.query(` - CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON "message_role_mentions" ("messagesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON "message_role_mentions" ("rolesId") - `); - await queryRunner.query(` - DROP INDEX "IDX_2a27102ecd1d81b4582a436092" - `); - await queryRunner.query(` - DROP INDEX "IDX_bdb8c09e1464cabf62105bf4b9" - `); - await queryRunner.query(` - CREATE TABLE "temporary_message_channel_mentions" ( - "messagesId" varchar NOT NULL, - "channelsId" varchar NOT NULL, - CONSTRAINT "FK_2a27102ecd1d81b4582a4360921" FOREIGN KEY ("messagesId") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "FK_bdb8c09e1464cabf62105bf4b9d" FOREIGN KEY ("channelsId") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY ("messagesId", "channelsId") - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_message_channel_mentions"("messagesId", "channelsId") - SELECT "messagesId", - "channelsId" - FROM "message_channel_mentions" - `); - await queryRunner.query(` - DROP TABLE "message_channel_mentions" - `); - await queryRunner.query(` - ALTER TABLE "temporary_message_channel_mentions" - RENAME TO "message_channel_mentions" - `); - await queryRunner.query(` - CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON "message_channel_mentions" ("messagesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON "message_channel_mentions" ("channelsId") - `); - await queryRunner.query(` - DROP INDEX "IDX_40bb6f23e7cc133292e92829d2" - `); - await queryRunner.query(` - DROP INDEX "IDX_e22a70819d07659c7a71c112a1" - `); - await queryRunner.query(` - CREATE TABLE "temporary_message_stickers" ( - "messagesId" varchar NOT NULL, - "stickersId" varchar NOT NULL, - CONSTRAINT "FK_40bb6f23e7cc133292e92829d28" FOREIGN KEY ("messagesId") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT "FK_e22a70819d07659c7a71c112a1f" FOREIGN KEY ("stickersId") REFERENCES "stickers" ("id") ON DELETE CASCADE ON UPDATE CASCADE, - PRIMARY KEY ("messagesId", "stickersId") - ) - `); - await queryRunner.query(` - INSERT INTO "temporary_message_stickers"("messagesId", "stickersId") - SELECT "messagesId", - "stickersId" - FROM "message_stickers" - `); - await queryRunner.query(` - DROP TABLE "message_stickers" - `); - await queryRunner.query(` - ALTER TABLE "temporary_message_stickers" - RENAME TO "message_stickers" - `); - await queryRunner.query(` - CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON "message_stickers" ("messagesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON "message_stickers" ("stickersId") - `); - await queryRunner.query(` - CREATE TABLE "query-result-cache" ( - "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, - "identifier" varchar, - "time" bigint NOT NULL, - "duration" integer NOT NULL, - "query" text NOT NULL, - "result" text NOT NULL - ) - `); - } - - public async down(queryRunner: QueryRunner): Promise { - await queryRunner.query(` - DROP TABLE "query-result-cache" - `); - await queryRunner.query(` - DROP INDEX "IDX_e22a70819d07659c7a71c112a1" - `); - await queryRunner.query(` - DROP INDEX "IDX_40bb6f23e7cc133292e92829d2" - `); - await queryRunner.query(` - ALTER TABLE "message_stickers" - RENAME TO "temporary_message_stickers" - `); - await queryRunner.query(` - CREATE TABLE "message_stickers" ( - "messagesId" varchar NOT NULL, - "stickersId" varchar NOT NULL, - PRIMARY KEY ("messagesId", "stickersId") - ) - `); - await queryRunner.query(` - INSERT INTO "message_stickers"("messagesId", "stickersId") - SELECT "messagesId", - "stickersId" - FROM "temporary_message_stickers" - `); - await queryRunner.query(` - DROP TABLE "temporary_message_stickers" - `); - await queryRunner.query(` - CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON "message_stickers" ("stickersId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON "message_stickers" ("messagesId") - `); - await queryRunner.query(` - DROP INDEX "IDX_bdb8c09e1464cabf62105bf4b9" - `); - await queryRunner.query(` - DROP INDEX "IDX_2a27102ecd1d81b4582a436092" - `); - await queryRunner.query(` - ALTER TABLE "message_channel_mentions" - RENAME TO "temporary_message_channel_mentions" - `); - await queryRunner.query(` - CREATE TABLE "message_channel_mentions" ( - "messagesId" varchar NOT NULL, - "channelsId" varchar NOT NULL, - PRIMARY KEY ("messagesId", "channelsId") - ) - `); - await queryRunner.query(` - INSERT INTO "message_channel_mentions"("messagesId", "channelsId") - SELECT "messagesId", - "channelsId" - FROM "temporary_message_channel_mentions" - `); - await queryRunner.query(` - DROP TABLE "temporary_message_channel_mentions" - `); - await queryRunner.query(` - CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON "message_channel_mentions" ("channelsId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON "message_channel_mentions" ("messagesId") - `); - await queryRunner.query(` - DROP INDEX "IDX_29d63eb1a458200851bc37d074" - `); - await queryRunner.query(` - DROP INDEX "IDX_a8242cf535337a490b0feaea0b" - `); - await queryRunner.query(` - ALTER TABLE "message_role_mentions" - RENAME TO "temporary_message_role_mentions" - `); - await queryRunner.query(` - CREATE TABLE "message_role_mentions" ( - "messagesId" varchar NOT NULL, - "rolesId" varchar NOT NULL, - PRIMARY KEY ("messagesId", "rolesId") - ) - `); - await queryRunner.query(` - INSERT INTO "message_role_mentions"("messagesId", "rolesId") - SELECT "messagesId", - "rolesId" - FROM "temporary_message_role_mentions" - `); - await queryRunner.query(` - DROP TABLE "temporary_message_role_mentions" - `); - await queryRunner.query(` - CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON "message_role_mentions" ("rolesId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON "message_role_mentions" ("messagesId") - `); - await queryRunner.query(` - DROP INDEX "IDX_b831eb18ceebd28976239b1e2f" - `); - await queryRunner.query(` - DROP INDEX "IDX_a343387fc560ef378760681c23" - `); - await queryRunner.query(` - ALTER TABLE "message_user_mentions" - RENAME TO "temporary_message_user_mentions" - `); - await queryRunner.query(` - CREATE TABLE "message_user_mentions" ( - "messagesId" varchar NOT NULL, - "usersId" varchar NOT NULL, - PRIMARY KEY ("messagesId", "usersId") - ) - `); - await queryRunner.query(` - INSERT INTO "message_user_mentions"("messagesId", "usersId") - SELECT "messagesId", - "usersId" - FROM "temporary_message_user_mentions" - `); - await queryRunner.query(` - DROP TABLE "temporary_message_user_mentions" - `); - await queryRunner.query(` - CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON "message_user_mentions" ("usersId") - `); - await queryRunner.query(` - CREATE INDEX "IDX_a343387fc560ef378760681c23" ON "message_user_mentions" ("messagesId") - `); - await queryRunner.query(` - DROP INDEX "IDX_e9080e7a7997a0170026d5139c" - `); - await queryRunner.query(` - DROP INDEX "IDX_5d7ddc8a5f9c167f548625e772" - `); - await queryRunner.query(` - ALTER TABLE "member_roles" - RENAME TO "temporary_member_roles" - `); - await queryRunner.query(` - CREATE TABLE "member_roles" ( - "index" integer NOT NULL, - "role_id" varchar NOT NULL, - PRIMARY KEY ("index", "role_id") - ) - `); - await queryRunner.query(` - INSERT INTO "member_roles"("index", "role_id") - SELECT "index", - "role_id" - FROM "temporary_member_roles" - `); - await queryRunner.query(` - DROP TABLE "temporary_member_roles" - `); - await queryRunner.query(` - CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON "member_roles" ("role_id") - `); - await queryRunner.query(` - CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON "member_roles" ("index") - `); - await queryRunner.query(` - ALTER TABLE "notes" - RENAME TO "temporary_notes" - `); - await queryRunner.query(` - CREATE TABLE "notes" ( - "id" varchar PRIMARY KEY NOT NULL, - "content" varchar NOT NULL, - "owner_id" varchar, - "target_id" varchar, - CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE ("owner_id", "target_id") - ) - `); - await queryRunner.query(` - INSERT INTO "notes"("id", "content", "owner_id", "target_id") - SELECT "id", - "content", - "owner_id", - "target_id" - FROM "temporary_notes" - `); - await queryRunner.query(` - DROP TABLE "temporary_notes" - `); - await queryRunner.query(` - ALTER TABLE "sticker_packs" - RENAME TO "temporary_sticker_packs" - `); - await queryRunner.query(` - CREATE TABLE "sticker_packs" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "banner_asset_id" varchar, - "cover_sticker_id" varchar, - "coverStickerId" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "sticker_packs"( - "id", - "name", - "description", - "banner_asset_id", - "cover_sticker_id", - "coverStickerId" - ) - SELECT "id", - "name", - "description", - "banner_asset_id", - "cover_sticker_id", - "coverStickerId" - FROM "temporary_sticker_packs" - `); - await queryRunner.query(` - DROP TABLE "temporary_sticker_packs" - `); - await queryRunner.query(` - ALTER TABLE "sessions" - RENAME TO "temporary_sessions" - `); - await queryRunner.query(` - CREATE TABLE "sessions" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "session_id" varchar NOT NULL, - "activities" text, - "client_info" text NOT NULL, - "status" varchar NOT NULL - ) - `); - await queryRunner.query(` - INSERT INTO "sessions"( - "id", - "user_id", - "session_id", - "activities", - "client_info", - "status" - ) - SELECT "id", - "user_id", - "session_id", - "activities", - "client_info", - "status" - FROM "temporary_sessions" - `); - await queryRunner.query(` - DROP TABLE "temporary_sessions" - `); - await queryRunner.query(` - ALTER TABLE "audit_logs" - RENAME TO "temporary_audit_logs" - `); - await queryRunner.query(` - CREATE TABLE "audit_logs" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "action_type" integer NOT NULL, - "options" text, - "changes" text NOT NULL, - "reason" varchar, - "target_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "audit_logs"( - "id", - "user_id", - "action_type", - "options", - "changes", - "reason", - "target_id" - ) - SELECT "id", - "user_id", - "action_type", - "options", - "changes", - "reason", - "target_id" - FROM "temporary_audit_logs" - `); - await queryRunner.query(` - DROP TABLE "temporary_audit_logs" - `); - await queryRunner.query(` - ALTER TABLE "applications" - RENAME TO "temporary_applications" - `); - await queryRunner.query(` - CREATE TABLE "applications" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "icon" varchar, - "description" varchar NOT NULL, - "rpc_origins" text, - "bot_public" boolean NOT NULL, - "bot_require_code_grant" boolean NOT NULL, - "terms_of_service_url" varchar, - "privacy_policy_url" varchar, - "summary" varchar, - "verify_key" varchar NOT NULL, - "primary_sku_id" varchar, - "slug" varchar, - "cover_image" varchar, - "flags" varchar NOT NULL, - "owner_id" varchar, - "team_id" varchar, - "guild_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "applications"( - "id", - "name", - "icon", - "description", - "rpc_origins", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "primary_sku_id", - "slug", - "cover_image", - "flags", - "owner_id", - "team_id", - "guild_id" - ) - SELECT "id", - "name", - "icon", - "description", - "rpc_origins", - "bot_public", - "bot_require_code_grant", - "terms_of_service_url", - "privacy_policy_url", - "summary", - "verify_key", - "primary_sku_id", - "slug", - "cover_image", - "flags", - "owner_id", - "team_id", - "guild_id" - FROM "temporary_applications" - `); - await queryRunner.query(` - DROP TABLE "temporary_applications" - `); - await queryRunner.query(` - ALTER TABLE "teams" - RENAME TO "temporary_teams" - `); - await queryRunner.query(` - CREATE TABLE "teams" ( - "id" varchar PRIMARY KEY NOT NULL, - "icon" varchar, - "name" varchar NOT NULL, - "owner_user_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "teams"("id", "icon", "name", "owner_user_id") - SELECT "id", - "icon", - "name", - "owner_user_id" - FROM "temporary_teams" - `); - await queryRunner.query(` - DROP TABLE "temporary_teams" - `); - await queryRunner.query(` - ALTER TABLE "team_members" - RENAME TO "temporary_team_members" - `); - await queryRunner.query(` - CREATE TABLE "team_members" ( - "id" varchar PRIMARY KEY NOT NULL, - "membership_state" integer NOT NULL, - "permissions" text NOT NULL, - "team_id" varchar, - "user_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "team_members"( - "id", - "membership_state", - "permissions", - "team_id", - "user_id" - ) - SELECT "id", - "membership_state", - "permissions", - "team_id", - "user_id" - FROM "temporary_team_members" - `); - await queryRunner.query(` - DROP TABLE "temporary_team_members" - `); - await queryRunner.query(` - ALTER TABLE "guilds" - RENAME TO "temporary_guilds" - `); - await queryRunner.query(` - CREATE TABLE "guilds" ( - "id" varchar PRIMARY KEY NOT NULL, - "afk_channel_id" varchar, - "afk_timeout" integer, - "banner" varchar, - "default_message_notifications" integer, - "description" varchar, - "discovery_splash" varchar, - "explicit_content_filter" integer, - "features" text NOT NULL, - "primary_category_id" integer, - "icon" varchar, - "large" boolean, - "max_members" integer, - "max_presences" integer, - "max_video_channel_users" integer, - "member_count" integer, - "presence_count" integer, - "template_id" varchar, - "mfa_level" integer, - "name" varchar NOT NULL, - "owner_id" varchar, - "preferred_locale" varchar, - "premium_subscription_count" integer, - "premium_tier" integer, - "public_updates_channel_id" varchar, - "rules_channel_id" varchar, - "region" varchar, - "splash" varchar, - "system_channel_id" varchar, - "system_channel_flags" integer, - "unavailable" boolean, - "verification_level" integer, - "welcome_screen" text NOT NULL, - "widget_channel_id" varchar, - "widget_enabled" boolean, - "nsfw_level" integer, - "nsfw" boolean, - "parent" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "guilds"( - "id", - "afk_channel_id", - "afk_timeout", - "banner", - "default_message_notifications", - "description", - "discovery_splash", - "explicit_content_filter", - "features", - "primary_category_id", - "icon", - "large", - "max_members", - "max_presences", - "max_video_channel_users", - "member_count", - "presence_count", - "template_id", - "mfa_level", - "name", - "owner_id", - "preferred_locale", - "premium_subscription_count", - "premium_tier", - "public_updates_channel_id", - "rules_channel_id", - "region", - "splash", - "system_channel_id", - "system_channel_flags", - "unavailable", - "verification_level", - "welcome_screen", - "widget_channel_id", - "widget_enabled", - "nsfw_level", - "nsfw", - "parent" - ) - SELECT "id", - "afk_channel_id", - "afk_timeout", - "banner", - "default_message_notifications", - "description", - "discovery_splash", - "explicit_content_filter", - "features", - "primary_category_id", - "icon", - "large", - "max_members", - "max_presences", - "max_video_channel_users", - "member_count", - "presence_count", - "template_id", - "mfa_level", - "name", - "owner_id", - "preferred_locale", - "premium_subscription_count", - "premium_tier", - "public_updates_channel_id", - "rules_channel_id", - "region", - "splash", - "system_channel_id", - "system_channel_flags", - "unavailable", - "verification_level", - "welcome_screen", - "widget_channel_id", - "widget_enabled", - "nsfw_level", - "nsfw", - "parent" - FROM "temporary_guilds" - `); - await queryRunner.query(` - DROP TABLE "temporary_guilds" - `); - await queryRunner.query(` - ALTER TABLE "templates" - RENAME TO "temporary_templates" - `); - await queryRunner.query(` - CREATE TABLE "templates" ( - "id" varchar PRIMARY KEY NOT NULL, - "code" varchar NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "usage_count" integer, - "creator_id" varchar, - "created_at" datetime NOT NULL, - "updated_at" datetime NOT NULL, - "source_guild_id" varchar, - "serialized_source_guild" text NOT NULL, - CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE ("code") - ) - `); - await queryRunner.query(` - INSERT INTO "templates"( - "id", - "code", - "name", - "description", - "usage_count", - "creator_id", - "created_at", - "updated_at", - "source_guild_id", - "serialized_source_guild" - ) - SELECT "id", - "code", - "name", - "description", - "usage_count", - "creator_id", - "created_at", - "updated_at", - "source_guild_id", - "serialized_source_guild" - FROM "temporary_templates" - `); - await queryRunner.query(` - DROP TABLE "temporary_templates" - `); - await queryRunner.query(` - ALTER TABLE "emojis" - RENAME TO "temporary_emojis" - `); - await queryRunner.query(` - CREATE TABLE "emojis" ( - "id" varchar PRIMARY KEY NOT NULL, - "animated" boolean NOT NULL, - "available" boolean NOT NULL, - "guild_id" varchar NOT NULL, - "user_id" varchar, - "managed" boolean NOT NULL, - "name" varchar NOT NULL, - "require_colons" boolean NOT NULL, - "roles" text NOT NULL, - "groups" text - ) - `); - await queryRunner.query(` - INSERT INTO "emojis"( - "id", - "animated", - "available", - "guild_id", - "user_id", - "managed", - "name", - "require_colons", - "roles", - "groups" - ) - SELECT "id", - "animated", - "available", - "guild_id", - "user_id", - "managed", - "name", - "require_colons", - "roles", - "groups" - FROM "temporary_emojis" - `); - await queryRunner.query(` - DROP TABLE "temporary_emojis" - `); - await queryRunner.query(` - ALTER TABLE "channels" - RENAME TO "temporary_channels" - `); - await queryRunner.query(` - CREATE TABLE "channels" ( - "id" varchar PRIMARY KEY NOT NULL, - "created_at" datetime NOT NULL, - "name" varchar, - "icon" text, - "type" integer NOT NULL, - "last_message_id" varchar, - "guild_id" varchar, - "parent_id" varchar, - "owner_id" varchar, - "last_pin_timestamp" integer, - "default_auto_archive_duration" integer, - "position" integer, - "permission_overwrites" text, - "video_quality_mode" integer, - "bitrate" integer, - "user_limit" integer, - "nsfw" boolean, - "rate_limit_per_user" integer, - "topic" varchar, - "retention_policy_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "channels"( - "id", - "created_at", - "name", - "icon", - "type", - "last_message_id", - "guild_id", - "parent_id", - "owner_id", - "last_pin_timestamp", - "default_auto_archive_duration", - "position", - "permission_overwrites", - "video_quality_mode", - "bitrate", - "user_limit", - "nsfw", - "rate_limit_per_user", - "topic", - "retention_policy_id" - ) - SELECT "id", - "created_at", - "name", - "icon", - "type", - "last_message_id", - "guild_id", - "parent_id", - "owner_id", - "last_pin_timestamp", - "default_auto_archive_duration", - "position", - "permission_overwrites", - "video_quality_mode", - "bitrate", - "user_limit", - "nsfw", - "rate_limit_per_user", - "topic", - "retention_policy_id" - FROM "temporary_channels" - `); - await queryRunner.query(` - DROP TABLE "temporary_channels" - `); - await queryRunner.query(` - ALTER TABLE "voice_states" - RENAME TO "temporary_voice_states" - `); - await queryRunner.query(` - CREATE TABLE "voice_states" ( - "id" varchar PRIMARY KEY NOT NULL, - "guild_id" varchar, - "channel_id" varchar, - "user_id" varchar, - "session_id" varchar NOT NULL, - "token" varchar, - "deaf" boolean NOT NULL, - "mute" boolean NOT NULL, - "self_deaf" boolean NOT NULL, - "self_mute" boolean NOT NULL, - "self_stream" boolean, - "self_video" boolean NOT NULL, - "suppress" boolean NOT NULL, - "request_to_speak_timestamp" datetime - ) - `); - await queryRunner.query(` - INSERT INTO "voice_states"( - "id", - "guild_id", - "channel_id", - "user_id", - "session_id", - "token", - "deaf", - "mute", - "self_deaf", - "self_mute", - "self_stream", - "self_video", - "suppress", - "request_to_speak_timestamp" - ) - SELECT "id", - "guild_id", - "channel_id", - "user_id", - "session_id", - "token", - "deaf", - "mute", - "self_deaf", - "self_mute", - "self_stream", - "self_video", - "suppress", - "request_to_speak_timestamp" - FROM "temporary_voice_states" - `); - await queryRunner.query(` - DROP TABLE "temporary_voice_states" - `); - await queryRunner.query(` - ALTER TABLE "invites" - RENAME TO "temporary_invites" - `); - await queryRunner.query(` - CREATE TABLE "invites" ( - "code" varchar PRIMARY KEY NOT NULL, - "temporary" boolean NOT NULL, - "uses" integer NOT NULL, - "max_uses" integer NOT NULL, - "max_age" integer NOT NULL, - "created_at" datetime NOT NULL, - "expires_at" datetime NOT NULL, - "guild_id" varchar, - "channel_id" varchar, - "inviter_id" varchar, - "target_user_id" varchar, - "target_user_type" integer, - "vanity_url" boolean - ) - `); - await queryRunner.query(` - INSERT INTO "invites"( - "code", - "temporary", - "uses", - "max_uses", - "max_age", - "created_at", - "expires_at", - "guild_id", - "channel_id", - "inviter_id", - "target_user_id", - "target_user_type", - "vanity_url" - ) - SELECT "code", - "temporary", - "uses", - "max_uses", - "max_age", - "created_at", - "expires_at", - "guild_id", - "channel_id", - "inviter_id", - "target_user_id", - "target_user_type", - "vanity_url" - FROM "temporary_invites" - `); - await queryRunner.query(` - DROP TABLE "temporary_invites" - `); - await queryRunner.query(` - DROP INDEX "IDX_0abf8b443321bd3cf7f81ee17a" - `); - await queryRunner.query(` - ALTER TABLE "read_states" - RENAME TO "temporary_read_states" - `); - await queryRunner.query(` - CREATE TABLE "read_states" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar NOT NULL, - "user_id" varchar NOT NULL, - "last_message_id" varchar, - "public_ack" varchar, - "notifications_cursor" varchar, - "last_pin_timestamp" datetime, - "mention_count" integer - ) - `); - await queryRunner.query(` - INSERT INTO "read_states"( - "id", - "channel_id", - "user_id", - "last_message_id", - "public_ack", - "notifications_cursor", - "last_pin_timestamp", - "mention_count" - ) - SELECT "id", - "channel_id", - "user_id", - "last_message_id", - "public_ack", - "notifications_cursor", - "last_pin_timestamp", - "mention_count" - FROM "temporary_read_states" - `); - await queryRunner.query(` - DROP TABLE "temporary_read_states" - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON "read_states" ("channel_id", "user_id") - `); - await queryRunner.query(` - DROP INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" - `); - await queryRunner.query(` - DROP INDEX "IDX_05535bc695e9f7ee104616459d" - `); - await queryRunner.query(` - DROP INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" - `); - await queryRunner.query(` - ALTER TABLE "messages" - RENAME TO "temporary_messages" - `); - await queryRunner.query(` - CREATE TABLE "messages" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar, - "guild_id" varchar, - "author_id" varchar, - "member_id" varchar, - "webhook_id" varchar, - "application_id" varchar, - "content" varchar, - "timestamp" datetime NOT NULL DEFAULT (datetime('now')), - "edited_timestamp" datetime, - "tts" boolean, - "mention_everyone" boolean, - "embeds" text NOT NULL, - "reactions" text NOT NULL, - "nonce" text, - "pinned" boolean, - "type" integer NOT NULL, - "activity" text, - "flags" varchar, - "message_reference" text, - "interaction" text, - "components" text, - "message_reference_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "messages"( - "id", - "channel_id", - "guild_id", - "author_id", - "member_id", - "webhook_id", - "application_id", - "content", - "timestamp", - "edited_timestamp", - "tts", - "mention_everyone", - "embeds", - "reactions", - "nonce", - "pinned", - "type", - "activity", - "flags", - "message_reference", - "interaction", - "components", - "message_reference_id" - ) - SELECT "id", - "channel_id", - "guild_id", - "author_id", - "member_id", - "webhook_id", - "application_id", - "content", - "timestamp", - "edited_timestamp", - "tts", - "mention_everyone", - "embeds", - "reactions", - "nonce", - "pinned", - "type", - "activity", - "flags", - "message_reference", - "interaction", - "components", - "message_reference_id" - FROM "temporary_messages" - `); - await queryRunner.query(` - DROP TABLE "temporary_messages" - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON "messages" ("channel_id", "id") - `); - await queryRunner.query(` - CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON "messages" ("author_id") - `); - await queryRunner.query(` - CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON "messages" ("channel_id") - `); - await queryRunner.query(` - ALTER TABLE "attachments" - RENAME TO "temporary_attachments" - `); - await queryRunner.query(` - CREATE TABLE "attachments" ( - "id" varchar PRIMARY KEY NOT NULL, - "filename" varchar NOT NULL, - "size" integer NOT NULL, - "url" varchar NOT NULL, - "proxy_url" varchar NOT NULL, - "height" integer, - "width" integer, - "content_type" varchar, - "message_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "attachments"( - "id", - "filename", - "size", - "url", - "proxy_url", - "height", - "width", - "content_type", - "message_id" - ) - SELECT "id", - "filename", - "size", - "url", - "proxy_url", - "height", - "width", - "content_type", - "message_id" - FROM "temporary_attachments" - `); - await queryRunner.query(` - DROP TABLE "temporary_attachments" - `); - await queryRunner.query(` - ALTER TABLE "stickers" - RENAME TO "temporary_stickers" - `); - await queryRunner.query(` - CREATE TABLE "stickers" ( - "id" varchar PRIMARY KEY NOT NULL, - "name" varchar NOT NULL, - "description" varchar, - "available" boolean, - "tags" varchar, - "pack_id" varchar, - "guild_id" varchar, - "user_id" varchar, - "type" integer NOT NULL, - "format_type" integer NOT NULL - ) - `); - await queryRunner.query(` - INSERT INTO "stickers"( - "id", - "name", - "description", - "available", - "tags", - "pack_id", - "guild_id", - "user_id", - "type", - "format_type" - ) - SELECT "id", - "name", - "description", - "available", - "tags", - "pack_id", - "guild_id", - "user_id", - "type", - "format_type" - FROM "temporary_stickers" - `); - await queryRunner.query(` - DROP TABLE "temporary_stickers" - `); - await queryRunner.query(` - ALTER TABLE "webhooks" - RENAME TO "temporary_webhooks" - `); - await queryRunner.query(` - CREATE TABLE "webhooks" ( - "id" varchar PRIMARY KEY NOT NULL, - "type" integer NOT NULL, - "name" varchar, - "avatar" varchar, - "token" varchar, - "guild_id" varchar, - "channel_id" varchar, - "application_id" varchar, - "user_id" varchar, - "source_guild_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "webhooks"( - "id", - "type", - "name", - "avatar", - "token", - "guild_id", - "channel_id", - "application_id", - "user_id", - "source_guild_id" - ) - SELECT "id", - "type", - "name", - "avatar", - "token", - "guild_id", - "channel_id", - "application_id", - "user_id", - "source_guild_id" - FROM "temporary_webhooks" - `); - await queryRunner.query(` - DROP TABLE "temporary_webhooks" - `); - await queryRunner.query(` - DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" - `); - await queryRunner.query(` - ALTER TABLE "members" - RENAME TO "temporary_members" - `); - await queryRunner.query(` - CREATE TABLE "members" ( - "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, - "id" varchar NOT NULL, - "guild_id" varchar NOT NULL, - "nick" varchar, - "joined_at" datetime NOT NULL, - "premium_since" bigint, - "deaf" boolean NOT NULL, - "mute" boolean NOT NULL, - "pending" boolean NOT NULL, - "settings" text NOT NULL, - "last_message_id" varchar, - "joined_by" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "members"( - "index", - "id", - "guild_id", - "nick", - "joined_at", - "premium_since", - "deaf", - "mute", - "pending", - "settings", - "last_message_id", - "joined_by" - ) - SELECT "index", - "id", - "guild_id", - "nick", - "joined_at", - "premium_since", - "deaf", - "mute", - "pending", - "settings", - "last_message_id", - "joined_by" - FROM "temporary_members" - `); - await queryRunner.query(` - DROP TABLE "temporary_members" - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") - `); - await queryRunner.query(` - ALTER TABLE "roles" - RENAME TO "temporary_roles" - `); - await queryRunner.query(` - CREATE TABLE "roles" ( - "id" varchar PRIMARY KEY NOT NULL, - "guild_id" varchar, - "color" integer NOT NULL, - "hoist" boolean NOT NULL, - "managed" boolean NOT NULL, - "mentionable" boolean NOT NULL, - "name" varchar NOT NULL, - "permissions" varchar NOT NULL, - "position" integer NOT NULL, - "icon" varchar, - "unicode_emoji" varchar, - "tags" text - ) - `); - await queryRunner.query(` - INSERT INTO "roles"( - "id", - "guild_id", - "color", - "hoist", - "managed", - "mentionable", - "name", - "permissions", - "position", - "icon", - "unicode_emoji", - "tags" - ) - SELECT "id", - "guild_id", - "color", - "hoist", - "managed", - "mentionable", - "name", - "permissions", - "position", - "icon", - "unicode_emoji", - "tags" - FROM "temporary_roles" - `); - await queryRunner.query(` - DROP TABLE "temporary_roles" - `); - await queryRunner.query(` - ALTER TABLE "recipients" - RENAME TO "temporary_recipients" - `); - await queryRunner.query(` - CREATE TABLE "recipients" ( - "id" varchar PRIMARY KEY NOT NULL, - "channel_id" varchar NOT NULL, - "user_id" varchar NOT NULL, - "closed" boolean NOT NULL DEFAULT (0) - ) - `); - await queryRunner.query(` - INSERT INTO "recipients"("id", "channel_id", "user_id", "closed") - SELECT "id", - "channel_id", - "user_id", - "closed" - FROM "temporary_recipients" - `); - await queryRunner.query(` - DROP TABLE "temporary_recipients" - `); - await queryRunner.query(` - ALTER TABLE "bans" - RENAME TO "temporary_bans" - `); - await queryRunner.query(` - CREATE TABLE "bans" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "guild_id" varchar, - "executor_id" varchar, - "ip" varchar NOT NULL, - "reason" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "bans"( - "id", - "user_id", - "guild_id", - "executor_id", - "ip", - "reason" - ) - SELECT "id", - "user_id", - "guild_id", - "executor_id", - "ip", - "reason" - FROM "temporary_bans" - `); - await queryRunner.query(` - DROP TABLE "temporary_bans" - `); - await queryRunner.query(` - ALTER TABLE "backup_codes" - RENAME TO "temporary_backup_codes" - `); - await queryRunner.query(` - CREATE TABLE "backup_codes" ( - "id" varchar PRIMARY KEY NOT NULL, - "code" varchar NOT NULL, - "consumed" boolean NOT NULL, - "expired" boolean NOT NULL, - "user_id" varchar - ) - `); - await queryRunner.query(` - INSERT INTO "backup_codes"("id", "code", "consumed", "expired", "user_id") - SELECT "id", - "code", - "consumed", - "expired", - "user_id" - FROM "temporary_backup_codes" - `); - await queryRunner.query(` - DROP TABLE "temporary_backup_codes" - `); - await queryRunner.query(` - ALTER TABLE "connected_accounts" - RENAME TO "temporary_connected_accounts" - `); - await queryRunner.query(` - CREATE TABLE "connected_accounts" ( - "id" varchar PRIMARY KEY NOT NULL, - "user_id" varchar, - "access_token" varchar NOT NULL, - "friend_sync" boolean NOT NULL, - "name" varchar NOT NULL, - "revoked" boolean NOT NULL, - "show_activity" boolean NOT NULL, - "type" varchar NOT NULL, - "verified" boolean NOT NULL, - "visibility" integer NOT NULL - ) - `); - await queryRunner.query(` - INSERT INTO "connected_accounts"( - "id", - "user_id", - "access_token", - "friend_sync", - "name", - "revoked", - "show_activity", - "type", - "verified", - "visibility" - ) - SELECT "id", - "user_id", - "access_token", - "friend_sync", - "name", - "revoked", - "show_activity", - "type", - "verified", - "visibility" - FROM "temporary_connected_accounts" - `); - await queryRunner.query(` - DROP TABLE "temporary_connected_accounts" - `); - await queryRunner.query(` - DROP INDEX "IDX_a0b2ff0a598df0b0d055934a17" - `); - await queryRunner.query(` - ALTER TABLE "relationships" - RENAME TO "temporary_relationships" - `); - await queryRunner.query(` - CREATE TABLE "relationships" ( - "id" varchar PRIMARY KEY NOT NULL, - "from_id" varchar NOT NULL, - "to_id" varchar NOT NULL, - "nickname" varchar, - "type" integer NOT NULL - ) - `); - await queryRunner.query(` - INSERT INTO "relationships"("id", "from_id", "to_id", "nickname", "type") - SELECT "id", - "from_id", - "to_id", - "nickname", - "type" - FROM "temporary_relationships" - `); - await queryRunner.query(` - DROP TABLE "temporary_relationships" - `); - await queryRunner.query(` - CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON "relationships" ("from_id", "to_id") - `); - await queryRunner.query(` - DROP INDEX "IDX_e22a70819d07659c7a71c112a1" - `); - await queryRunner.query(` - DROP INDEX "IDX_40bb6f23e7cc133292e92829d2" - `); - await queryRunner.query(` - DROP TABLE "message_stickers" - `); - await queryRunner.query(` - DROP INDEX "IDX_bdb8c09e1464cabf62105bf4b9" - `); - await queryRunner.query(` - DROP INDEX "IDX_2a27102ecd1d81b4582a436092" - `); - await queryRunner.query(` - DROP TABLE "message_channel_mentions" - `); - await queryRunner.query(` - DROP INDEX "IDX_29d63eb1a458200851bc37d074" - `); - await queryRunner.query(` - DROP INDEX "IDX_a8242cf535337a490b0feaea0b" - `); - await queryRunner.query(` - DROP TABLE "message_role_mentions" - `); - await queryRunner.query(` - DROP INDEX "IDX_b831eb18ceebd28976239b1e2f" - `); - await queryRunner.query(` - DROP INDEX "IDX_a343387fc560ef378760681c23" - `); - await queryRunner.query(` - DROP TABLE "message_user_mentions" - `); - await queryRunner.query(` - DROP INDEX "IDX_e9080e7a7997a0170026d5139c" - `); - await queryRunner.query(` - DROP INDEX "IDX_5d7ddc8a5f9c167f548625e772" - `); - await queryRunner.query(` - DROP TABLE "member_roles" - `); - await queryRunner.query(` - DROP TABLE "notes" - `); - await queryRunner.query(` - DROP TABLE "client_release" - `); - await queryRunner.query(` - DROP TABLE "sticker_packs" - `); - await queryRunner.query(` - DROP TABLE "sessions" - `); - await queryRunner.query(` - DROP TABLE "rate_limits" - `); - await queryRunner.query(` - DROP TABLE "migrations" - `); - await queryRunner.query(` - DROP TABLE "categories" - `); - await queryRunner.query(` - DROP TABLE "audit_logs" - `); - await queryRunner.query(` - DROP TABLE "applications" - `); - await queryRunner.query(` - DROP TABLE "teams" - `); - await queryRunner.query(` - DROP TABLE "team_members" - `); - await queryRunner.query(` - DROP TABLE "guilds" - `); - await queryRunner.query(` - DROP TABLE "templates" - `); - await queryRunner.query(` - DROP TABLE "emojis" - `); - await queryRunner.query(` - DROP TABLE "channels" - `); - await queryRunner.query(` - DROP TABLE "voice_states" - `); - await queryRunner.query(` - DROP TABLE "invites" - `); - await queryRunner.query(` - DROP INDEX "IDX_0abf8b443321bd3cf7f81ee17a" - `); - await queryRunner.query(` - DROP TABLE "read_states" - `); - await queryRunner.query(` - DROP INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" - `); - await queryRunner.query(` - DROP INDEX "IDX_05535bc695e9f7ee104616459d" - `); - await queryRunner.query(` - DROP INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" - `); - await queryRunner.query(` - DROP TABLE "messages" - `); - await queryRunner.query(` - DROP TABLE "attachments" - `); - await queryRunner.query(` - DROP TABLE "stickers" - `); - await queryRunner.query(` - DROP TABLE "webhooks" - `); - await queryRunner.query(` - DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" - `); - await queryRunner.query(` - DROP TABLE "members" - `); - await queryRunner.query(` - DROP TABLE "roles" - `); - await queryRunner.query(` - DROP TABLE "recipients" - `); - await queryRunner.query(` - DROP TABLE "bans" - `); - await queryRunner.query(` - DROP TABLE "backup_codes" - `); - await queryRunner.query(` - DROP TABLE "users" - `); - await queryRunner.query(` - DROP TABLE "connected_accounts" - `); - await queryRunner.query(` - DROP INDEX "IDX_a0b2ff0a598df0b0d055934a17" - `); - await queryRunner.query(` - DROP TABLE "relationships" - `); - await queryRunner.query(` - DROP TABLE "config" - `); - } - -} diff --git a/util/src/migrations/postgres/1659899687168-initial.ts b/util/src/migrations/postgres/1659899687168-initial.ts new file mode 100644 index 00000000..4ffb897d --- /dev/null +++ b/util/src/migrations/postgres/1659899687168-initial.ts @@ -0,0 +1,1245 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class initial1659899687168 implements MigrationInterface { + name = 'initial1659899687168' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TABLE "config" ( + "key" character varying NOT NULL, + "value" text, + CONSTRAINT "PK_26489c99ddbb4c91631ef5cc791" PRIMARY KEY ("key") + ) + `); + await queryRunner.query(` + CREATE TABLE "relationships" ( + "id" character varying NOT NULL, + "from_id" character varying NOT NULL, + "to_id" character varying NOT NULL, + "nickname" character varying, + "type" integer NOT NULL, + CONSTRAINT "PK_ba20e2f5cf487408e08e4dcecaf" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON "relationships" ("from_id", "to_id") + `); + await queryRunner.query(` + CREATE TABLE "connected_accounts" ( + "id" character varying NOT NULL, + "user_id" character varying, + "access_token" character varying NOT NULL, + "friend_sync" boolean NOT NULL, + "name" character varying NOT NULL, + "revoked" boolean NOT NULL, + "show_activity" boolean NOT NULL, + "type" character varying NOT NULL, + "verified" boolean NOT NULL, + "visibility" integer NOT NULL, + CONSTRAINT "PK_70416f1da0be645bb31da01c774" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "users" ( + "id" character varying NOT NULL, + "username" character varying NOT NULL, + "discriminator" character varying NOT NULL, + "avatar" character varying, + "accent_color" integer, + "banner" character varying, + "phone" character varying, + "desktop" boolean NOT NULL, + "mobile" boolean NOT NULL, + "premium" boolean NOT NULL, + "premium_type" integer NOT NULL, + "bot" boolean NOT NULL, + "bio" character varying NOT NULL, + "system" boolean NOT NULL, + "nsfw_allowed" boolean NOT NULL, + "mfa_enabled" boolean NOT NULL, + "totp_secret" character varying, + "totp_last_ticket" character varying, + "created_at" TIMESTAMP NOT NULL, + "premium_since" TIMESTAMP, + "verified" boolean NOT NULL, + "disabled" boolean NOT NULL, + "deleted" boolean NOT NULL, + "email" character varying, + "flags" character varying NOT NULL, + "public_flags" integer NOT NULL, + "rights" bigint NOT NULL, + "data" text NOT NULL, + "fingerprints" text NOT NULL, + "settings" text NOT NULL, + "extended_settings" text NOT NULL, + "notes" text NOT NULL, + CONSTRAINT "PK_a3ffb1c0c8416b9fc6f907b7433" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "backup_codes" ( + "id" character varying NOT NULL, + "code" character varying NOT NULL, + "consumed" boolean NOT NULL, + "expired" boolean NOT NULL, + "user_id" character varying, + CONSTRAINT "PK_34ab957382dbc57e8fb53f1638f" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "bans" ( + "id" character varying NOT NULL, + "user_id" character varying, + "guild_id" character varying, + "executor_id" character varying, + "ip" character varying NOT NULL, + "reason" character varying, + CONSTRAINT "PK_a4d6f261bffa4615c62d756566a" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "recipients" ( + "id" character varying NOT NULL, + "channel_id" character varying NOT NULL, + "user_id" character varying NOT NULL, + "closed" boolean NOT NULL DEFAULT false, + CONSTRAINT "PK_de8fc5a9c364568f294798fe1e9" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "roles" ( + "id" character varying NOT NULL, + "guild_id" character varying, + "color" integer NOT NULL, + "hoist" boolean NOT NULL, + "managed" boolean NOT NULL, + "mentionable" boolean NOT NULL, + "name" character varying NOT NULL, + "permissions" character varying NOT NULL, + "position" integer NOT NULL, + "icon" character varying, + "unicode_emoji" character varying, + "tags" text, + CONSTRAINT "PK_c1433d71a4838793a49dcad46ab" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "members" ( + "index" SERIAL NOT NULL, + "id" character varying NOT NULL, + "guild_id" character varying NOT NULL, + "nick" character varying, + "joined_at" TIMESTAMP NOT NULL, + "premium_since" bigint, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "pending" boolean NOT NULL, + "settings" text NOT NULL, + "last_message_id" character varying, + "joined_by" character varying, + CONSTRAINT "PK_b4a6b8c2478e5df990909c6cf6a" PRIMARY KEY ("index") + ) + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") + `); + await queryRunner.query(` + CREATE TABLE "webhooks" ( + "id" character varying NOT NULL, + "type" integer NOT NULL, + "name" character varying, + "avatar" character varying, + "token" character varying, + "guild_id" character varying, + "channel_id" character varying, + "application_id" character varying, + "user_id" character varying, + "source_guild_id" character varying, + CONSTRAINT "PK_9e8795cfc899ab7bdaa831e8527" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "stickers" ( + "id" character varying NOT NULL, + "name" character varying NOT NULL, + "description" character varying, + "available" boolean, + "tags" character varying, + "pack_id" character varying, + "guild_id" character varying, + "user_id" character varying, + "type" integer NOT NULL, + "format_type" integer NOT NULL, + CONSTRAINT "PK_e1dafa4063a5532645cc2810374" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "attachments" ( + "id" character varying NOT NULL, + "filename" character varying NOT NULL, + "size" integer NOT NULL, + "url" character varying NOT NULL, + "proxy_url" character varying NOT NULL, + "height" integer, + "width" integer, + "content_type" character varying, + "message_id" character varying, + CONSTRAINT "PK_5e1f050bcff31e3084a1d662412" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "messages" ( + "id" character varying NOT NULL, + "channel_id" character varying, + "guild_id" character varying, + "author_id" character varying, + "member_id" character varying, + "webhook_id" character varying, + "application_id" character varying, + "content" character varying, + "timestamp" TIMESTAMP NOT NULL DEFAULT now(), + "edited_timestamp" TIMESTAMP, + "tts" boolean, + "mention_everyone" boolean, + "embeds" text NOT NULL, + "reactions" text NOT NULL, + "nonce" text, + "pinned" boolean, + "type" integer NOT NULL, + "activity" text, + "flags" character varying, + "message_reference" text, + "interaction" text, + "components" text, + "message_reference_id" character varying, + CONSTRAINT "PK_18325f38ae6de43878487eff986" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON "messages" ("channel_id") + `); + await queryRunner.query(` + CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON "messages" ("author_id") + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON "messages" ("channel_id", "id") + `); + await queryRunner.query(` + CREATE TABLE "read_states" ( + "id" character varying NOT NULL, + "channel_id" character varying NOT NULL, + "user_id" character varying NOT NULL, + "last_message_id" character varying, + "public_ack" character varying, + "notifications_cursor" character varying, + "last_pin_timestamp" TIMESTAMP, + "mention_count" integer, + CONSTRAINT "PK_e6956a804978f01b713b1ed58e2" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON "read_states" ("channel_id", "user_id") + `); + await queryRunner.query(` + CREATE TABLE "invites" ( + "code" character varying NOT NULL, + "temporary" boolean NOT NULL, + "uses" integer NOT NULL, + "max_uses" integer NOT NULL, + "max_age" integer NOT NULL, + "created_at" TIMESTAMP NOT NULL, + "expires_at" TIMESTAMP NOT NULL, + "guild_id" character varying, + "channel_id" character varying, + "inviter_id" character varying, + "target_user_id" character varying, + "target_user_type" integer, + "vanity_url" boolean, + CONSTRAINT "PK_33fd8a248db1cd832baa8aa25bf" PRIMARY KEY ("code") + ) + `); + await queryRunner.query(` + CREATE TABLE "voice_states" ( + "id" character varying NOT NULL, + "guild_id" character varying, + "channel_id" character varying, + "user_id" character varying, + "session_id" character varying NOT NULL, + "token" character varying, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "self_deaf" boolean NOT NULL, + "self_mute" boolean NOT NULL, + "self_stream" boolean, + "self_video" boolean NOT NULL, + "suppress" boolean NOT NULL, + "request_to_speak_timestamp" TIMESTAMP, + CONSTRAINT "PK_ada09a50c134fad1369b510e3ce" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "channels" ( + "id" character varying NOT NULL, + "created_at" TIMESTAMP NOT NULL, + "name" character varying, + "icon" text, + "type" integer NOT NULL, + "last_message_id" character varying, + "guild_id" character varying, + "parent_id" character varying, + "owner_id" character varying, + "last_pin_timestamp" integer, + "default_auto_archive_duration" integer, + "position" integer, + "permission_overwrites" text, + "video_quality_mode" integer, + "bitrate" integer, + "user_limit" integer, + "nsfw" boolean, + "rate_limit_per_user" integer, + "topic" character varying, + "retention_policy_id" character varying, + CONSTRAINT "PK_bc603823f3f741359c2339389f9" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "emojis" ( + "id" character varying NOT NULL, + "animated" boolean NOT NULL, + "available" boolean NOT NULL, + "guild_id" character varying NOT NULL, + "user_id" character varying, + "managed" boolean NOT NULL, + "name" character varying NOT NULL, + "require_colons" boolean NOT NULL, + "roles" text NOT NULL, + "groups" text, + CONSTRAINT "PK_9adb96a675f555c6169bad7ba62" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "templates" ( + "id" character varying NOT NULL, + "code" character varying NOT NULL, + "name" character varying NOT NULL, + "description" character varying, + "usage_count" integer, + "creator_id" character varying, + "created_at" TIMESTAMP NOT NULL, + "updated_at" TIMESTAMP NOT NULL, + "source_guild_id" character varying, + "serialized_source_guild" text NOT NULL, + CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE ("code"), + CONSTRAINT "PK_515948649ce0bbbe391de702ae5" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "guilds" ( + "id" character varying NOT NULL, + "afk_channel_id" character varying, + "afk_timeout" integer, + "banner" character varying, + "default_message_notifications" integer, + "description" character varying, + "discovery_splash" character varying, + "explicit_content_filter" integer, + "features" text NOT NULL, + "primary_category_id" integer, + "icon" character varying, + "large" boolean, + "max_members" integer, + "max_presences" integer, + "max_video_channel_users" integer, + "member_count" integer, + "presence_count" integer, + "template_id" character varying, + "mfa_level" integer, + "name" character varying NOT NULL, + "owner_id" character varying, + "preferred_locale" character varying, + "premium_subscription_count" integer, + "premium_tier" integer, + "public_updates_channel_id" character varying, + "rules_channel_id" character varying, + "region" character varying, + "splash" character varying, + "system_channel_id" character varying, + "system_channel_flags" integer, + "unavailable" boolean, + "verification_level" integer, + "welcome_screen" text NOT NULL, + "widget_channel_id" character varying, + "widget_enabled" boolean, + "nsfw_level" integer, + "nsfw" boolean, + "parent" character varying, + CONSTRAINT "PK_e7e7f2a51bd6d96a9ac2aa560f9" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "team_members" ( + "id" character varying NOT NULL, + "membership_state" integer NOT NULL, + "permissions" text NOT NULL, + "team_id" character varying, + "user_id" character varying, + CONSTRAINT "PK_ca3eae89dcf20c9fd95bf7460aa" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "teams" ( + "id" character varying NOT NULL, + "icon" character varying, + "name" character varying NOT NULL, + "owner_user_id" character varying, + CONSTRAINT "PK_7e5523774a38b08a6236d322403" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" character varying NOT NULL, + "name" character varying NOT NULL, + "icon" character varying, + "description" character varying NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" character varying, + "privacy_policy_url" character varying, + "summary" character varying, + "verify_key" character varying NOT NULL, + "primary_sku_id" character varying, + "slug" character varying, + "cover_image" character varying, + "flags" character varying NOT NULL, + "owner_id" character varying, + "team_id" character varying, + "guild_id" character varying, + CONSTRAINT "PK_938c0a27255637bde919591888f" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "audit_logs" ( + "id" character varying NOT NULL, + "user_id" character varying, + "action_type" integer NOT NULL, + "options" text, + "changes" text NOT NULL, + "reason" character varying, + "target_id" character varying, + CONSTRAINT "PK_1bb179d048bbc581caa3b013439" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "categories" ( + "id" integer NOT NULL, + "name" character varying, + "localizations" text NOT NULL, + "is_primary" boolean, + CONSTRAINT "PK_24dbc6126a28ff948da33e97d3b" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "rate_limits" ( + "id" character varying NOT NULL, + "executor_id" character varying NOT NULL, + "hits" integer NOT NULL, + "blocked" boolean NOT NULL, + "expires_at" TIMESTAMP NOT NULL, + CONSTRAINT "PK_3b4449f1f5fc167d921ee619f65" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "sessions" ( + "id" character varying NOT NULL, + "user_id" character varying, + "session_id" character varying NOT NULL, + "activities" text, + "client_info" text NOT NULL, + "status" character varying NOT NULL, + CONSTRAINT "PK_3238ef96f18b355b671619111bc" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "sticker_packs" ( + "id" character varying NOT NULL, + "name" character varying NOT NULL, + "description" character varying, + "banner_asset_id" character varying, + "cover_sticker_id" character varying, + "coverStickerId" character varying, + CONSTRAINT "PK_a27381efea0f876f5d3233af655" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "client_release" ( + "id" character varying NOT NULL, + "name" character varying NOT NULL, + "pub_date" character varying NOT NULL, + "url" character varying NOT NULL, + "deb_url" character varying NOT NULL, + "osx_url" character varying NOT NULL, + "win_url" character varying NOT NULL, + "notes" character varying, + CONSTRAINT "PK_4c4ea258342d2d6ba1be0a71a43" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "notes" ( + "id" character varying NOT NULL, + "content" character varying NOT NULL, + "owner_id" character varying, + "target_id" character varying, + CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE ("owner_id", "target_id"), + CONSTRAINT "PK_af6206538ea96c4e77e9f400c3d" PRIMARY KEY ("id") + ) + `); + await queryRunner.query(` + CREATE TABLE "member_roles" ( + "index" integer NOT NULL, + "role_id" character varying NOT NULL, + CONSTRAINT "PK_951c1d72a0fd1da8760b4a1fd66" PRIMARY KEY ("index", "role_id") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON "member_roles" ("index") + `); + await queryRunner.query(` + CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON "member_roles" ("role_id") + `); + await queryRunner.query(` + CREATE TABLE "message_user_mentions" ( + "messagesId" character varying NOT NULL, + "usersId" character varying NOT NULL, + CONSTRAINT "PK_9b9b6e245ad47a48dbd7605d4fb" PRIMARY KEY ("messagesId", "usersId") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_a343387fc560ef378760681c23" ON "message_user_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON "message_user_mentions" ("usersId") + `); + await queryRunner.query(` + CREATE TABLE "message_role_mentions" ( + "messagesId" character varying NOT NULL, + "rolesId" character varying NOT NULL, + CONSTRAINT "PK_74dba92cc300452a6e14b83ed44" PRIMARY KEY ("messagesId", "rolesId") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON "message_role_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON "message_role_mentions" ("rolesId") + `); + await queryRunner.query(` + CREATE TABLE "message_channel_mentions" ( + "messagesId" character varying NOT NULL, + "channelsId" character varying NOT NULL, + CONSTRAINT "PK_85cb45351497cd9d06a79ced65e" PRIMARY KEY ("messagesId", "channelsId") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON "message_channel_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON "message_channel_mentions" ("channelsId") + `); + await queryRunner.query(` + CREATE TABLE "message_stickers" ( + "messagesId" character varying NOT NULL, + "stickersId" character varying NOT NULL, + CONSTRAINT "PK_ed820c4093d0b8cd1d2bcf66087" PRIMARY KEY ("messagesId", "stickersId") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON "message_stickers" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON "message_stickers" ("stickersId") + `); + await queryRunner.query(` + ALTER TABLE "relationships" + ADD CONSTRAINT "FK_9af4194bab1250b1c584ae4f1d7" FOREIGN KEY ("from_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "relationships" + ADD CONSTRAINT "FK_9c7f6b98a9843b76dce1b0c878b" FOREIGN KEY ("to_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "connected_accounts" + ADD CONSTRAINT "FK_f47244225a6a1eac04a3463dd90" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "backup_codes" + ADD CONSTRAINT "FK_70066ea80d2f4b871beda32633b" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "bans" + ADD CONSTRAINT "FK_5999e8e449f80a236ff72023559" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "bans" + ADD CONSTRAINT "FK_9d3ab7dd180ebdd245cdb66ecad" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "bans" + ADD CONSTRAINT "FK_07ad88c86d1f290d46748410d58" FOREIGN KEY ("executor_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "recipients" + ADD CONSTRAINT "FK_2f18ee1ba667f233ae86c0ea60e" FOREIGN KEY ("channel_id") REFERENCES "channels"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "recipients" + ADD CONSTRAINT "FK_6157e8b6ba4e6e3089616481fe2" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "roles" + ADD CONSTRAINT "FK_c32c1ab1c4dc7dcb0278c4b1b8b" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "members" + ADD CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY ("id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "members" + ADD CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "webhooks" + ADD CONSTRAINT "FK_487a7af59d189f744fe394368fc" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "webhooks" + ADD CONSTRAINT "FK_df528cf77e82f8032230e7e37d8" FOREIGN KEY ("channel_id") REFERENCES "channels"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "webhooks" + ADD CONSTRAINT "FK_c3e5305461931763b56aa905f1c" FOREIGN KEY ("application_id") REFERENCES "applications"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "webhooks" + ADD CONSTRAINT "FK_0d523f6f997c86e052c49b1455f" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "webhooks" + ADD CONSTRAINT "FK_3a285f4f49c40e0706d3018bc9f" FOREIGN KEY ("source_guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "stickers" + ADD CONSTRAINT "FK_e7cfa5cefa6661b3fb8fda8ce69" FOREIGN KEY ("pack_id") REFERENCES "sticker_packs"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "stickers" + ADD CONSTRAINT "FK_193d551d852aca5347ef5c9f205" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "stickers" + ADD CONSTRAINT "FK_8f4ee73f2bb2325ff980502e158" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "attachments" + ADD CONSTRAINT "FK_623e10eec51ada466c5038979e3" FOREIGN KEY ("message_id") REFERENCES "messages"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "messages" + ADD CONSTRAINT "FK_86b9109b155eb70c0a2ca3b4b6d" FOREIGN KEY ("channel_id") REFERENCES "channels"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "messages" + ADD CONSTRAINT "FK_b193588441b085352a4c0109423" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "messages" + ADD CONSTRAINT "FK_05535bc695e9f7ee104616459d3" FOREIGN KEY ("author_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "messages" + ADD CONSTRAINT "FK_b0525304f2262b7014245351c76" FOREIGN KEY ("member_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "messages" + ADD CONSTRAINT "FK_f83c04bcf1df4e5c0e7a52ed348" FOREIGN KEY ("webhook_id") REFERENCES "webhooks"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "messages" + ADD CONSTRAINT "FK_5d3ec1cb962de6488637fd779d6" FOREIGN KEY ("application_id") REFERENCES "applications"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "messages" + ADD CONSTRAINT "FK_61a92bb65b302a76d9c1fcd3174" FOREIGN KEY ("message_reference_id") REFERENCES "messages"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "read_states" + ADD CONSTRAINT "FK_40da2fca4e0eaf7a23b5bfc5d34" FOREIGN KEY ("channel_id") REFERENCES "channels"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "read_states" + ADD CONSTRAINT "FK_195f92e4dd1254a4e348c043763" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "invites" + ADD CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "invites" + ADD CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY ("channel_id") REFERENCES "channels"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "invites" + ADD CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY ("inviter_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "invites" + ADD CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY ("target_user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "voice_states" + ADD CONSTRAINT "FK_03779ef216d4b0358470d9cb748" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "voice_states" + ADD CONSTRAINT "FK_9f8d389866b40b6657edd026dd4" FOREIGN KEY ("channel_id") REFERENCES "channels"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "voice_states" + ADD CONSTRAINT "FK_5fe1d5f931a67e85039c640001b" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "channels" + ADD CONSTRAINT "FK_c253dafe5f3a03ec00cd8fb4581" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "channels" + ADD CONSTRAINT "FK_3274522d14af40540b1a883fc80" FOREIGN KEY ("parent_id") REFERENCES "channels"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "channels" + ADD CONSTRAINT "FK_3873ed438575cce703ecff4fc7b" FOREIGN KEY ("owner_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "emojis" + ADD CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "emojis" + ADD CONSTRAINT "FK_fa7ddd5f9a214e28ce596548421" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "templates" + ADD CONSTRAINT "FK_d7374b7f8f5fbfdececa4fb62e1" FOREIGN KEY ("creator_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "templates" + ADD CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" FOREIGN KEY ("source_guild_id") REFERENCES "guilds"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "guilds" + ADD CONSTRAINT "FK_f591a66b8019d87b0fe6c12dad6" FOREIGN KEY ("afk_channel_id") REFERENCES "channels"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "guilds" + ADD CONSTRAINT "FK_e2a2f873a64a5cf62526de42325" FOREIGN KEY ("template_id") REFERENCES "templates"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "guilds" + ADD CONSTRAINT "FK_fc1a451727e3643ca572a3bb394" FOREIGN KEY ("owner_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "guilds" + ADD CONSTRAINT "FK_8d450b016dc8bec35f36729e4b0" FOREIGN KEY ("public_updates_channel_id") REFERENCES "channels"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "guilds" + ADD CONSTRAINT "FK_95828668aa333460582e0ca6396" FOREIGN KEY ("rules_channel_id") REFERENCES "channels"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "guilds" + ADD CONSTRAINT "FK_cfc3d3ad260f8121c95b31a1fce" FOREIGN KEY ("system_channel_id") REFERENCES "channels"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "guilds" + ADD CONSTRAINT "FK_9d1d665379eefde7876a17afa99" FOREIGN KEY ("widget_channel_id") REFERENCES "channels"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "team_members" + ADD CONSTRAINT "FK_fdad7d5768277e60c40e01cdcea" FOREIGN KEY ("team_id") REFERENCES "teams"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "team_members" + ADD CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "teams" + ADD CONSTRAINT "FK_13f00abf7cb6096c43ecaf8c108" FOREIGN KEY ("owner_user_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "applications" + ADD CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "audit_logs" + ADD CONSTRAINT "FK_3cd01cd3ae7aab010310d96ac8e" FOREIGN KEY ("target_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "audit_logs" + ADD CONSTRAINT "FK_bd2726fd31b35443f2245b93ba0" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "sessions" + ADD CONSTRAINT "FK_085d540d9f418cfbdc7bd55bb19" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "sticker_packs" + ADD CONSTRAINT "FK_448fafba4355ee1c837bbc865f1" FOREIGN KEY ("coverStickerId") REFERENCES "stickers"("id") ON DELETE NO ACTION ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "notes" + ADD CONSTRAINT "FK_f9e103f8ae67cb1787063597925" FOREIGN KEY ("owner_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "notes" + ADD CONSTRAINT "FK_23e08e5b4481711d573e1abecdc" FOREIGN KEY ("target_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION + `); + await queryRunner.query(` + ALTER TABLE "member_roles" + ADD CONSTRAINT "FK_5d7ddc8a5f9c167f548625e772e" FOREIGN KEY ("index") REFERENCES "members"("index") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "member_roles" + ADD CONSTRAINT "FK_e9080e7a7997a0170026d5139c1" FOREIGN KEY ("role_id") REFERENCES "roles"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "message_user_mentions" + ADD CONSTRAINT "FK_a343387fc560ef378760681c236" FOREIGN KEY ("messagesId") REFERENCES "messages"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "message_user_mentions" + ADD CONSTRAINT "FK_b831eb18ceebd28976239b1e2f8" FOREIGN KEY ("usersId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "message_role_mentions" + ADD CONSTRAINT "FK_a8242cf535337a490b0feaea0b4" FOREIGN KEY ("messagesId") REFERENCES "messages"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "message_role_mentions" + ADD CONSTRAINT "FK_29d63eb1a458200851bc37d074b" FOREIGN KEY ("rolesId") REFERENCES "roles"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "message_channel_mentions" + ADD CONSTRAINT "FK_2a27102ecd1d81b4582a4360921" FOREIGN KEY ("messagesId") REFERENCES "messages"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "message_channel_mentions" + ADD CONSTRAINT "FK_bdb8c09e1464cabf62105bf4b9d" FOREIGN KEY ("channelsId") REFERENCES "channels"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "message_stickers" + ADD CONSTRAINT "FK_40bb6f23e7cc133292e92829d28" FOREIGN KEY ("messagesId") REFERENCES "messages"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + ALTER TABLE "message_stickers" + ADD CONSTRAINT "FK_e22a70819d07659c7a71c112a1f" FOREIGN KEY ("stickersId") REFERENCES "stickers"("id") ON DELETE CASCADE ON UPDATE CASCADE + `); + await queryRunner.query(` + CREATE TABLE "query-result-cache" ( + "id" SERIAL NOT NULL, + "identifier" character varying, + "time" bigint NOT NULL, + "duration" integer NOT NULL, + "query" text NOT NULL, + "result" text NOT NULL, + CONSTRAINT "PK_6a98f758d8bfd010e7e10ffd3d3" PRIMARY KEY ("id") + ) + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + DROP TABLE "query-result-cache" + `); + await queryRunner.query(` + ALTER TABLE "message_stickers" DROP CONSTRAINT "FK_e22a70819d07659c7a71c112a1f" + `); + await queryRunner.query(` + ALTER TABLE "message_stickers" DROP CONSTRAINT "FK_40bb6f23e7cc133292e92829d28" + `); + await queryRunner.query(` + ALTER TABLE "message_channel_mentions" DROP CONSTRAINT "FK_bdb8c09e1464cabf62105bf4b9d" + `); + await queryRunner.query(` + ALTER TABLE "message_channel_mentions" DROP CONSTRAINT "FK_2a27102ecd1d81b4582a4360921" + `); + await queryRunner.query(` + ALTER TABLE "message_role_mentions" DROP CONSTRAINT "FK_29d63eb1a458200851bc37d074b" + `); + await queryRunner.query(` + ALTER TABLE "message_role_mentions" DROP CONSTRAINT "FK_a8242cf535337a490b0feaea0b4" + `); + await queryRunner.query(` + ALTER TABLE "message_user_mentions" DROP CONSTRAINT "FK_b831eb18ceebd28976239b1e2f8" + `); + await queryRunner.query(` + ALTER TABLE "message_user_mentions" DROP CONSTRAINT "FK_a343387fc560ef378760681c236" + `); + await queryRunner.query(` + ALTER TABLE "member_roles" DROP CONSTRAINT "FK_e9080e7a7997a0170026d5139c1" + `); + await queryRunner.query(` + ALTER TABLE "member_roles" DROP CONSTRAINT "FK_5d7ddc8a5f9c167f548625e772e" + `); + await queryRunner.query(` + ALTER TABLE "notes" DROP CONSTRAINT "FK_23e08e5b4481711d573e1abecdc" + `); + await queryRunner.query(` + ALTER TABLE "notes" DROP CONSTRAINT "FK_f9e103f8ae67cb1787063597925" + `); + await queryRunner.query(` + ALTER TABLE "sticker_packs" DROP CONSTRAINT "FK_448fafba4355ee1c837bbc865f1" + `); + await queryRunner.query(` + ALTER TABLE "sessions" DROP CONSTRAINT "FK_085d540d9f418cfbdc7bd55bb19" + `); + await queryRunner.query(` + ALTER TABLE "audit_logs" DROP CONSTRAINT "FK_bd2726fd31b35443f2245b93ba0" + `); + await queryRunner.query(` + ALTER TABLE "audit_logs" DROP CONSTRAINT "FK_3cd01cd3ae7aab010310d96ac8e" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" + `); + await queryRunner.query(` + ALTER TABLE "applications" DROP CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" + `); + await queryRunner.query(` + ALTER TABLE "teams" DROP CONSTRAINT "FK_13f00abf7cb6096c43ecaf8c108" + `); + await queryRunner.query(` + ALTER TABLE "team_members" DROP CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4" + `); + await queryRunner.query(` + ALTER TABLE "team_members" DROP CONSTRAINT "FK_fdad7d5768277e60c40e01cdcea" + `); + await queryRunner.query(` + ALTER TABLE "guilds" DROP CONSTRAINT "FK_9d1d665379eefde7876a17afa99" + `); + await queryRunner.query(` + ALTER TABLE "guilds" DROP CONSTRAINT "FK_cfc3d3ad260f8121c95b31a1fce" + `); + await queryRunner.query(` + ALTER TABLE "guilds" DROP CONSTRAINT "FK_95828668aa333460582e0ca6396" + `); + await queryRunner.query(` + ALTER TABLE "guilds" DROP CONSTRAINT "FK_8d450b016dc8bec35f36729e4b0" + `); + await queryRunner.query(` + ALTER TABLE "guilds" DROP CONSTRAINT "FK_fc1a451727e3643ca572a3bb394" + `); + await queryRunner.query(` + ALTER TABLE "guilds" DROP CONSTRAINT "FK_e2a2f873a64a5cf62526de42325" + `); + await queryRunner.query(` + ALTER TABLE "guilds" DROP CONSTRAINT "FK_f591a66b8019d87b0fe6c12dad6" + `); + await queryRunner.query(` + ALTER TABLE "templates" DROP CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" + `); + await queryRunner.query(` + ALTER TABLE "templates" DROP CONSTRAINT "FK_d7374b7f8f5fbfdececa4fb62e1" + `); + await queryRunner.query(` + ALTER TABLE "emojis" DROP CONSTRAINT "FK_fa7ddd5f9a214e28ce596548421" + `); + await queryRunner.query(` + ALTER TABLE "emojis" DROP CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc" + `); + await queryRunner.query(` + ALTER TABLE "channels" DROP CONSTRAINT "FK_3873ed438575cce703ecff4fc7b" + `); + await queryRunner.query(` + ALTER TABLE "channels" DROP CONSTRAINT "FK_3274522d14af40540b1a883fc80" + `); + await queryRunner.query(` + ALTER TABLE "channels" DROP CONSTRAINT "FK_c253dafe5f3a03ec00cd8fb4581" + `); + await queryRunner.query(` + ALTER TABLE "voice_states" DROP CONSTRAINT "FK_5fe1d5f931a67e85039c640001b" + `); + await queryRunner.query(` + ALTER TABLE "voice_states" DROP CONSTRAINT "FK_9f8d389866b40b6657edd026dd4" + `); + await queryRunner.query(` + ALTER TABLE "voice_states" DROP CONSTRAINT "FK_03779ef216d4b0358470d9cb748" + `); + await queryRunner.query(` + ALTER TABLE "invites" DROP CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" + `); + await queryRunner.query(` + ALTER TABLE "invites" DROP CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" + `); + await queryRunner.query(` + ALTER TABLE "invites" DROP CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" + `); + await queryRunner.query(` + ALTER TABLE "invites" DROP CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" + `); + await queryRunner.query(` + ALTER TABLE "read_states" DROP CONSTRAINT "FK_195f92e4dd1254a4e348c043763" + `); + await queryRunner.query(` + ALTER TABLE "read_states" DROP CONSTRAINT "FK_40da2fca4e0eaf7a23b5bfc5d34" + `); + await queryRunner.query(` + ALTER TABLE "messages" DROP CONSTRAINT "FK_61a92bb65b302a76d9c1fcd3174" + `); + await queryRunner.query(` + ALTER TABLE "messages" DROP CONSTRAINT "FK_5d3ec1cb962de6488637fd779d6" + `); + await queryRunner.query(` + ALTER TABLE "messages" DROP CONSTRAINT "FK_f83c04bcf1df4e5c0e7a52ed348" + `); + await queryRunner.query(` + ALTER TABLE "messages" DROP CONSTRAINT "FK_b0525304f2262b7014245351c76" + `); + await queryRunner.query(` + ALTER TABLE "messages" DROP CONSTRAINT "FK_05535bc695e9f7ee104616459d3" + `); + await queryRunner.query(` + ALTER TABLE "messages" DROP CONSTRAINT "FK_b193588441b085352a4c0109423" + `); + await queryRunner.query(` + ALTER TABLE "messages" DROP CONSTRAINT "FK_86b9109b155eb70c0a2ca3b4b6d" + `); + await queryRunner.query(` + ALTER TABLE "attachments" DROP CONSTRAINT "FK_623e10eec51ada466c5038979e3" + `); + await queryRunner.query(` + ALTER TABLE "stickers" DROP CONSTRAINT "FK_8f4ee73f2bb2325ff980502e158" + `); + await queryRunner.query(` + ALTER TABLE "stickers" DROP CONSTRAINT "FK_193d551d852aca5347ef5c9f205" + `); + await queryRunner.query(` + ALTER TABLE "stickers" DROP CONSTRAINT "FK_e7cfa5cefa6661b3fb8fda8ce69" + `); + await queryRunner.query(` + ALTER TABLE "webhooks" DROP CONSTRAINT "FK_3a285f4f49c40e0706d3018bc9f" + `); + await queryRunner.query(` + ALTER TABLE "webhooks" DROP CONSTRAINT "FK_0d523f6f997c86e052c49b1455f" + `); + await queryRunner.query(` + ALTER TABLE "webhooks" DROP CONSTRAINT "FK_c3e5305461931763b56aa905f1c" + `); + await queryRunner.query(` + ALTER TABLE "webhooks" DROP CONSTRAINT "FK_df528cf77e82f8032230e7e37d8" + `); + await queryRunner.query(` + ALTER TABLE "webhooks" DROP CONSTRAINT "FK_487a7af59d189f744fe394368fc" + `); + await queryRunner.query(` + ALTER TABLE "members" DROP CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" + `); + await queryRunner.query(` + ALTER TABLE "members" DROP CONSTRAINT "FK_28b53062261b996d9c99fa12404" + `); + await queryRunner.query(` + ALTER TABLE "roles" DROP CONSTRAINT "FK_c32c1ab1c4dc7dcb0278c4b1b8b" + `); + await queryRunner.query(` + ALTER TABLE "recipients" DROP CONSTRAINT "FK_6157e8b6ba4e6e3089616481fe2" + `); + await queryRunner.query(` + ALTER TABLE "recipients" DROP CONSTRAINT "FK_2f18ee1ba667f233ae86c0ea60e" + `); + await queryRunner.query(` + ALTER TABLE "bans" DROP CONSTRAINT "FK_07ad88c86d1f290d46748410d58" + `); + await queryRunner.query(` + ALTER TABLE "bans" DROP CONSTRAINT "FK_9d3ab7dd180ebdd245cdb66ecad" + `); + await queryRunner.query(` + ALTER TABLE "bans" DROP CONSTRAINT "FK_5999e8e449f80a236ff72023559" + `); + await queryRunner.query(` + ALTER TABLE "backup_codes" DROP CONSTRAINT "FK_70066ea80d2f4b871beda32633b" + `); + await queryRunner.query(` + ALTER TABLE "connected_accounts" DROP CONSTRAINT "FK_f47244225a6a1eac04a3463dd90" + `); + await queryRunner.query(` + ALTER TABLE "relationships" DROP CONSTRAINT "FK_9c7f6b98a9843b76dce1b0c878b" + `); + await queryRunner.query(` + ALTER TABLE "relationships" DROP CONSTRAINT "FK_9af4194bab1250b1c584ae4f1d7" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_e22a70819d07659c7a71c112a1" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_40bb6f23e7cc133292e92829d2" + `); + await queryRunner.query(` + DROP TABLE "message_stickers" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_bdb8c09e1464cabf62105bf4b9" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_2a27102ecd1d81b4582a436092" + `); + await queryRunner.query(` + DROP TABLE "message_channel_mentions" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_29d63eb1a458200851bc37d074" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_a8242cf535337a490b0feaea0b" + `); + await queryRunner.query(` + DROP TABLE "message_role_mentions" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_b831eb18ceebd28976239b1e2f" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_a343387fc560ef378760681c23" + `); + await queryRunner.query(` + DROP TABLE "message_user_mentions" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_e9080e7a7997a0170026d5139c" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_5d7ddc8a5f9c167f548625e772" + `); + await queryRunner.query(` + DROP TABLE "member_roles" + `); + await queryRunner.query(` + DROP TABLE "notes" + `); + await queryRunner.query(` + DROP TABLE "client_release" + `); + await queryRunner.query(` + DROP TABLE "sticker_packs" + `); + await queryRunner.query(` + DROP TABLE "sessions" + `); + await queryRunner.query(` + DROP TABLE "rate_limits" + `); + await queryRunner.query(` + DROP TABLE "categories" + `); + await queryRunner.query(` + DROP TABLE "audit_logs" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + DROP TABLE "teams" + `); + await queryRunner.query(` + DROP TABLE "team_members" + `); + await queryRunner.query(` + DROP TABLE "guilds" + `); + await queryRunner.query(` + DROP TABLE "templates" + `); + await queryRunner.query(` + DROP TABLE "emojis" + `); + await queryRunner.query(` + DROP TABLE "channels" + `); + await queryRunner.query(` + DROP TABLE "voice_states" + `); + await queryRunner.query(` + DROP TABLE "invites" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_0abf8b443321bd3cf7f81ee17a" + `); + await queryRunner.query(` + DROP TABLE "read_states" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_3ed7a60fb7dbe04e1ba9332a8b" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_05535bc695e9f7ee104616459d" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_86b9109b155eb70c0a2ca3b4b6" + `); + await queryRunner.query(` + DROP TABLE "messages" + `); + await queryRunner.query(` + DROP TABLE "attachments" + `); + await queryRunner.query(` + DROP TABLE "stickers" + `); + await queryRunner.query(` + DROP TABLE "webhooks" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_bb2bf9386ac443afbbbf9f12d3" + `); + await queryRunner.query(` + DROP TABLE "members" + `); + await queryRunner.query(` + DROP TABLE "roles" + `); + await queryRunner.query(` + DROP TABLE "recipients" + `); + await queryRunner.query(` + DROP TABLE "bans" + `); + await queryRunner.query(` + DROP TABLE "backup_codes" + `); + await queryRunner.query(` + DROP TABLE "users" + `); + await queryRunner.query(` + DROP TABLE "connected_accounts" + `); + await queryRunner.query(` + DROP INDEX "public"."IDX_a0b2ff0a598df0b0d055934a17" + `); + await queryRunner.query(` + DROP TABLE "relationships" + `); + await queryRunner.query(` + DROP TABLE "config" + `); + } + +} diff --git a/util/src/migrations/sqlite/1659899662635-initial.ts b/util/src/migrations/sqlite/1659899662635-initial.ts new file mode 100644 index 00000000..f82e7b0d --- /dev/null +++ b/util/src/migrations/sqlite/1659899662635-initial.ts @@ -0,0 +1,3529 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class initial1659899662635 implements MigrationInterface { + name = 'initial1659899662635' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + CREATE TABLE "config" ("key" varchar PRIMARY KEY NOT NULL, "value" text) + `); + await queryRunner.query(` + CREATE TABLE "relationships" ( + "id" varchar PRIMARY KEY NOT NULL, + "from_id" varchar NOT NULL, + "to_id" varchar NOT NULL, + "nickname" varchar, + "type" integer NOT NULL + ) + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON "relationships" ("from_id", "to_id") + `); + await queryRunner.query(` + CREATE TABLE "connected_accounts" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "access_token" varchar NOT NULL, + "friend_sync" boolean NOT NULL, + "name" varchar NOT NULL, + "revoked" boolean NOT NULL, + "show_activity" boolean NOT NULL, + "type" varchar NOT NULL, + "verified" boolean NOT NULL, + "visibility" integer NOT NULL + ) + `); + await queryRunner.query(` + CREATE TABLE "users" ( + "id" varchar PRIMARY KEY NOT NULL, + "username" varchar NOT NULL, + "discriminator" varchar NOT NULL, + "avatar" varchar, + "accent_color" integer, + "banner" varchar, + "phone" varchar, + "desktop" boolean NOT NULL, + "mobile" boolean NOT NULL, + "premium" boolean NOT NULL, + "premium_type" integer NOT NULL, + "bot" boolean NOT NULL, + "bio" varchar NOT NULL, + "system" boolean NOT NULL, + "nsfw_allowed" boolean NOT NULL, + "mfa_enabled" boolean NOT NULL, + "totp_secret" varchar, + "totp_last_ticket" varchar, + "created_at" datetime NOT NULL, + "premium_since" datetime, + "verified" boolean NOT NULL, + "disabled" boolean NOT NULL, + "deleted" boolean NOT NULL, + "email" varchar, + "flags" varchar NOT NULL, + "public_flags" integer NOT NULL, + "rights" bigint NOT NULL, + "data" text NOT NULL, + "fingerprints" text NOT NULL, + "settings" text NOT NULL, + "extended_settings" text NOT NULL, + "notes" text NOT NULL + ) + `); + await queryRunner.query(` + CREATE TABLE "backup_codes" ( + "id" varchar PRIMARY KEY NOT NULL, + "code" varchar NOT NULL, + "consumed" boolean NOT NULL, + "expired" boolean NOT NULL, + "user_id" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "bans" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "guild_id" varchar, + "executor_id" varchar, + "ip" varchar NOT NULL, + "reason" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "recipients" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar NOT NULL, + "user_id" varchar NOT NULL, + "closed" boolean NOT NULL DEFAULT (0) + ) + `); + await queryRunner.query(` + CREATE TABLE "roles" ( + "id" varchar PRIMARY KEY NOT NULL, + "guild_id" varchar, + "color" integer NOT NULL, + "hoist" boolean NOT NULL, + "managed" boolean NOT NULL, + "mentionable" boolean NOT NULL, + "name" varchar NOT NULL, + "permissions" varchar NOT NULL, + "position" integer NOT NULL, + "icon" varchar, + "unicode_emoji" varchar, + "tags" text + ) + `); + await queryRunner.query(` + CREATE TABLE "members" ( + "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, + "id" varchar NOT NULL, + "guild_id" varchar NOT NULL, + "nick" varchar, + "joined_at" datetime NOT NULL, + "premium_since" bigint, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "pending" boolean NOT NULL, + "settings" text NOT NULL, + "last_message_id" varchar, + "joined_by" varchar + ) + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") + `); + await queryRunner.query(` + CREATE TABLE "webhooks" ( + "id" varchar PRIMARY KEY NOT NULL, + "type" integer NOT NULL, + "name" varchar, + "avatar" varchar, + "token" varchar, + "guild_id" varchar, + "channel_id" varchar, + "application_id" varchar, + "user_id" varchar, + "source_guild_id" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "stickers" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "available" boolean, + "tags" varchar, + "pack_id" varchar, + "guild_id" varchar, + "user_id" varchar, + "type" integer NOT NULL, + "format_type" integer NOT NULL + ) + `); + await queryRunner.query(` + CREATE TABLE "attachments" ( + "id" varchar PRIMARY KEY NOT NULL, + "filename" varchar NOT NULL, + "size" integer NOT NULL, + "url" varchar NOT NULL, + "proxy_url" varchar NOT NULL, + "height" integer, + "width" integer, + "content_type" varchar, + "message_id" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "messages" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar, + "guild_id" varchar, + "author_id" varchar, + "member_id" varchar, + "webhook_id" varchar, + "application_id" varchar, + "content" varchar, + "timestamp" datetime NOT NULL DEFAULT (datetime('now')), + "edited_timestamp" datetime, + "tts" boolean, + "mention_everyone" boolean, + "embeds" text NOT NULL, + "reactions" text NOT NULL, + "nonce" text, + "pinned" boolean, + "type" integer NOT NULL, + "activity" text, + "flags" varchar, + "message_reference" text, + "interaction" text, + "components" text, + "message_reference_id" varchar + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON "messages" ("channel_id") + `); + await queryRunner.query(` + CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON "messages" ("author_id") + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON "messages" ("channel_id", "id") + `); + await queryRunner.query(` + CREATE TABLE "read_states" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar NOT NULL, + "user_id" varchar NOT NULL, + "last_message_id" varchar, + "public_ack" varchar, + "notifications_cursor" varchar, + "last_pin_timestamp" datetime, + "mention_count" integer + ) + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON "read_states" ("channel_id", "user_id") + `); + await queryRunner.query(` + CREATE TABLE "invites" ( + "code" varchar PRIMARY KEY NOT NULL, + "temporary" boolean NOT NULL, + "uses" integer NOT NULL, + "max_uses" integer NOT NULL, + "max_age" integer NOT NULL, + "created_at" datetime NOT NULL, + "expires_at" datetime NOT NULL, + "guild_id" varchar, + "channel_id" varchar, + "inviter_id" varchar, + "target_user_id" varchar, + "target_user_type" integer, + "vanity_url" boolean + ) + `); + await queryRunner.query(` + CREATE TABLE "voice_states" ( + "id" varchar PRIMARY KEY NOT NULL, + "guild_id" varchar, + "channel_id" varchar, + "user_id" varchar, + "session_id" varchar NOT NULL, + "token" varchar, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "self_deaf" boolean NOT NULL, + "self_mute" boolean NOT NULL, + "self_stream" boolean, + "self_video" boolean NOT NULL, + "suppress" boolean NOT NULL, + "request_to_speak_timestamp" datetime + ) + `); + await queryRunner.query(` + CREATE TABLE "channels" ( + "id" varchar PRIMARY KEY NOT NULL, + "created_at" datetime NOT NULL, + "name" varchar, + "icon" text, + "type" integer NOT NULL, + "last_message_id" varchar, + "guild_id" varchar, + "parent_id" varchar, + "owner_id" varchar, + "last_pin_timestamp" integer, + "default_auto_archive_duration" integer, + "position" integer, + "permission_overwrites" text, + "video_quality_mode" integer, + "bitrate" integer, + "user_limit" integer, + "nsfw" boolean, + "rate_limit_per_user" integer, + "topic" varchar, + "retention_policy_id" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "emojis" ( + "id" varchar PRIMARY KEY NOT NULL, + "animated" boolean NOT NULL, + "available" boolean NOT NULL, + "guild_id" varchar NOT NULL, + "user_id" varchar, + "managed" boolean NOT NULL, + "name" varchar NOT NULL, + "require_colons" boolean NOT NULL, + "roles" text NOT NULL, + "groups" text + ) + `); + await queryRunner.query(` + CREATE TABLE "templates" ( + "id" varchar PRIMARY KEY NOT NULL, + "code" varchar NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "usage_count" integer, + "creator_id" varchar, + "created_at" datetime NOT NULL, + "updated_at" datetime NOT NULL, + "source_guild_id" varchar, + "serialized_source_guild" text NOT NULL, + CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE ("code") + ) + `); + await queryRunner.query(` + CREATE TABLE "guilds" ( + "id" varchar PRIMARY KEY NOT NULL, + "afk_channel_id" varchar, + "afk_timeout" integer, + "banner" varchar, + "default_message_notifications" integer, + "description" varchar, + "discovery_splash" varchar, + "explicit_content_filter" integer, + "features" text NOT NULL, + "primary_category_id" integer, + "icon" varchar, + "large" boolean, + "max_members" integer, + "max_presences" integer, + "max_video_channel_users" integer, + "member_count" integer, + "presence_count" integer, + "template_id" varchar, + "mfa_level" integer, + "name" varchar NOT NULL, + "owner_id" varchar, + "preferred_locale" varchar, + "premium_subscription_count" integer, + "premium_tier" integer, + "public_updates_channel_id" varchar, + "rules_channel_id" varchar, + "region" varchar, + "splash" varchar, + "system_channel_id" varchar, + "system_channel_flags" integer, + "unavailable" boolean, + "verification_level" integer, + "welcome_screen" text NOT NULL, + "widget_channel_id" varchar, + "widget_enabled" boolean, + "nsfw_level" integer, + "nsfw" boolean, + "parent" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "team_members" ( + "id" varchar PRIMARY KEY NOT NULL, + "membership_state" integer NOT NULL, + "permissions" text NOT NULL, + "team_id" varchar, + "user_id" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "teams" ( + "id" varchar PRIMARY KEY NOT NULL, + "icon" varchar, + "name" varchar NOT NULL, + "owner_user_id" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "audit_logs" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "action_type" integer NOT NULL, + "options" text, + "changes" text NOT NULL, + "reason" varchar, + "target_id" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "categories" ( + "id" integer PRIMARY KEY NOT NULL, + "name" varchar, + "localizations" text NOT NULL, + "is_primary" boolean + ) + `); + await queryRunner.query(` + CREATE TABLE "rate_limits" ( + "id" varchar PRIMARY KEY NOT NULL, + "executor_id" varchar NOT NULL, + "hits" integer NOT NULL, + "blocked" boolean NOT NULL, + "expires_at" datetime NOT NULL + ) + `); + await queryRunner.query(` + CREATE TABLE "sessions" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "session_id" varchar NOT NULL, + "activities" text, + "client_info" text NOT NULL, + "status" varchar NOT NULL + ) + `); + await queryRunner.query(` + CREATE TABLE "sticker_packs" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "banner_asset_id" varchar, + "cover_sticker_id" varchar, + "coverStickerId" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "client_release" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "pub_date" varchar NOT NULL, + "url" varchar NOT NULL, + "deb_url" varchar NOT NULL, + "osx_url" varchar NOT NULL, + "win_url" varchar NOT NULL, + "notes" varchar + ) + `); + await queryRunner.query(` + CREATE TABLE "notes" ( + "id" varchar PRIMARY KEY NOT NULL, + "content" varchar NOT NULL, + "owner_id" varchar, + "target_id" varchar, + CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE ("owner_id", "target_id") + ) + `); + await queryRunner.query(` + CREATE TABLE "member_roles" ( + "index" integer NOT NULL, + "role_id" varchar NOT NULL, + PRIMARY KEY ("index", "role_id") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON "member_roles" ("index") + `); + await queryRunner.query(` + CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON "member_roles" ("role_id") + `); + await queryRunner.query(` + CREATE TABLE "message_user_mentions" ( + "messagesId" varchar NOT NULL, + "usersId" varchar NOT NULL, + PRIMARY KEY ("messagesId", "usersId") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_a343387fc560ef378760681c23" ON "message_user_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON "message_user_mentions" ("usersId") + `); + await queryRunner.query(` + CREATE TABLE "message_role_mentions" ( + "messagesId" varchar NOT NULL, + "rolesId" varchar NOT NULL, + PRIMARY KEY ("messagesId", "rolesId") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON "message_role_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON "message_role_mentions" ("rolesId") + `); + await queryRunner.query(` + CREATE TABLE "message_channel_mentions" ( + "messagesId" varchar NOT NULL, + "channelsId" varchar NOT NULL, + PRIMARY KEY ("messagesId", "channelsId") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON "message_channel_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON "message_channel_mentions" ("channelsId") + `); + await queryRunner.query(` + CREATE TABLE "message_stickers" ( + "messagesId" varchar NOT NULL, + "stickersId" varchar NOT NULL, + PRIMARY KEY ("messagesId", "stickersId") + ) + `); + await queryRunner.query(` + CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON "message_stickers" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON "message_stickers" ("stickersId") + `); + await queryRunner.query(` + DROP INDEX "IDX_a0b2ff0a598df0b0d055934a17" + `); + await queryRunner.query(` + CREATE TABLE "temporary_relationships" ( + "id" varchar PRIMARY KEY NOT NULL, + "from_id" varchar NOT NULL, + "to_id" varchar NOT NULL, + "nickname" varchar, + "type" integer NOT NULL, + CONSTRAINT "FK_9af4194bab1250b1c584ae4f1d7" FOREIGN KEY ("from_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_9c7f6b98a9843b76dce1b0c878b" FOREIGN KEY ("to_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_relationships"("id", "from_id", "to_id", "nickname", "type") + SELECT "id", + "from_id", + "to_id", + "nickname", + "type" + FROM "relationships" + `); + await queryRunner.query(` + DROP TABLE "relationships" + `); + await queryRunner.query(` + ALTER TABLE "temporary_relationships" + RENAME TO "relationships" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON "relationships" ("from_id", "to_id") + `); + await queryRunner.query(` + CREATE TABLE "temporary_connected_accounts" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "access_token" varchar NOT NULL, + "friend_sync" boolean NOT NULL, + "name" varchar NOT NULL, + "revoked" boolean NOT NULL, + "show_activity" boolean NOT NULL, + "type" varchar NOT NULL, + "verified" boolean NOT NULL, + "visibility" integer NOT NULL, + CONSTRAINT "FK_f47244225a6a1eac04a3463dd90" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_connected_accounts"( + "id", + "user_id", + "access_token", + "friend_sync", + "name", + "revoked", + "show_activity", + "type", + "verified", + "visibility" + ) + SELECT "id", + "user_id", + "access_token", + "friend_sync", + "name", + "revoked", + "show_activity", + "type", + "verified", + "visibility" + FROM "connected_accounts" + `); + await queryRunner.query(` + DROP TABLE "connected_accounts" + `); + await queryRunner.query(` + ALTER TABLE "temporary_connected_accounts" + RENAME TO "connected_accounts" + `); + await queryRunner.query(` + CREATE TABLE "temporary_backup_codes" ( + "id" varchar PRIMARY KEY NOT NULL, + "code" varchar NOT NULL, + "consumed" boolean NOT NULL, + "expired" boolean NOT NULL, + "user_id" varchar, + CONSTRAINT "FK_70066ea80d2f4b871beda32633b" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_backup_codes"("id", "code", "consumed", "expired", "user_id") + SELECT "id", + "code", + "consumed", + "expired", + "user_id" + FROM "backup_codes" + `); + await queryRunner.query(` + DROP TABLE "backup_codes" + `); + await queryRunner.query(` + ALTER TABLE "temporary_backup_codes" + RENAME TO "backup_codes" + `); + await queryRunner.query(` + CREATE TABLE "temporary_bans" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "guild_id" varchar, + "executor_id" varchar, + "ip" varchar NOT NULL, + "reason" varchar, + CONSTRAINT "FK_5999e8e449f80a236ff72023559" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_9d3ab7dd180ebdd245cdb66ecad" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_07ad88c86d1f290d46748410d58" FOREIGN KEY ("executor_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_bans"( + "id", + "user_id", + "guild_id", + "executor_id", + "ip", + "reason" + ) + SELECT "id", + "user_id", + "guild_id", + "executor_id", + "ip", + "reason" + FROM "bans" + `); + await queryRunner.query(` + DROP TABLE "bans" + `); + await queryRunner.query(` + ALTER TABLE "temporary_bans" + RENAME TO "bans" + `); + await queryRunner.query(` + CREATE TABLE "temporary_recipients" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar NOT NULL, + "user_id" varchar NOT NULL, + "closed" boolean NOT NULL DEFAULT (0), + CONSTRAINT "FK_2f18ee1ba667f233ae86c0ea60e" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_6157e8b6ba4e6e3089616481fe2" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_recipients"("id", "channel_id", "user_id", "closed") + SELECT "id", + "channel_id", + "user_id", + "closed" + FROM "recipients" + `); + await queryRunner.query(` + DROP TABLE "recipients" + `); + await queryRunner.query(` + ALTER TABLE "temporary_recipients" + RENAME TO "recipients" + `); + await queryRunner.query(` + CREATE TABLE "temporary_roles" ( + "id" varchar PRIMARY KEY NOT NULL, + "guild_id" varchar, + "color" integer NOT NULL, + "hoist" boolean NOT NULL, + "managed" boolean NOT NULL, + "mentionable" boolean NOT NULL, + "name" varchar NOT NULL, + "permissions" varchar NOT NULL, + "position" integer NOT NULL, + "icon" varchar, + "unicode_emoji" varchar, + "tags" text, + CONSTRAINT "FK_c32c1ab1c4dc7dcb0278c4b1b8b" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_roles"( + "id", + "guild_id", + "color", + "hoist", + "managed", + "mentionable", + "name", + "permissions", + "position", + "icon", + "unicode_emoji", + "tags" + ) + SELECT "id", + "guild_id", + "color", + "hoist", + "managed", + "mentionable", + "name", + "permissions", + "position", + "icon", + "unicode_emoji", + "tags" + FROM "roles" + `); + await queryRunner.query(` + DROP TABLE "roles" + `); + await queryRunner.query(` + ALTER TABLE "temporary_roles" + RENAME TO "roles" + `); + await queryRunner.query(` + DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" + `); + await queryRunner.query(` + CREATE TABLE "temporary_members" ( + "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, + "id" varchar NOT NULL, + "guild_id" varchar NOT NULL, + "nick" varchar, + "joined_at" datetime NOT NULL, + "premium_since" bigint, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "pending" boolean NOT NULL, + "settings" text NOT NULL, + "last_message_id" varchar, + "joined_by" varchar, + CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY ("id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_members"( + "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + ) + SELECT "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + FROM "members" + `); + await queryRunner.query(` + DROP TABLE "members" + `); + await queryRunner.query(` + ALTER TABLE "temporary_members" + RENAME TO "members" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") + `); + await queryRunner.query(` + CREATE TABLE "temporary_webhooks" ( + "id" varchar PRIMARY KEY NOT NULL, + "type" integer NOT NULL, + "name" varchar, + "avatar" varchar, + "token" varchar, + "guild_id" varchar, + "channel_id" varchar, + "application_id" varchar, + "user_id" varchar, + "source_guild_id" varchar, + CONSTRAINT "FK_487a7af59d189f744fe394368fc" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_df528cf77e82f8032230e7e37d8" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_c3e5305461931763b56aa905f1c" FOREIGN KEY ("application_id") REFERENCES "applications" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_0d523f6f997c86e052c49b1455f" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_3a285f4f49c40e0706d3018bc9f" FOREIGN KEY ("source_guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_webhooks"( + "id", + "type", + "name", + "avatar", + "token", + "guild_id", + "channel_id", + "application_id", + "user_id", + "source_guild_id" + ) + SELECT "id", + "type", + "name", + "avatar", + "token", + "guild_id", + "channel_id", + "application_id", + "user_id", + "source_guild_id" + FROM "webhooks" + `); + await queryRunner.query(` + DROP TABLE "webhooks" + `); + await queryRunner.query(` + ALTER TABLE "temporary_webhooks" + RENAME TO "webhooks" + `); + await queryRunner.query(` + CREATE TABLE "temporary_stickers" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "available" boolean, + "tags" varchar, + "pack_id" varchar, + "guild_id" varchar, + "user_id" varchar, + "type" integer NOT NULL, + "format_type" integer NOT NULL, + CONSTRAINT "FK_e7cfa5cefa6661b3fb8fda8ce69" FOREIGN KEY ("pack_id") REFERENCES "sticker_packs" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_193d551d852aca5347ef5c9f205" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_8f4ee73f2bb2325ff980502e158" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_stickers"( + "id", + "name", + "description", + "available", + "tags", + "pack_id", + "guild_id", + "user_id", + "type", + "format_type" + ) + SELECT "id", + "name", + "description", + "available", + "tags", + "pack_id", + "guild_id", + "user_id", + "type", + "format_type" + FROM "stickers" + `); + await queryRunner.query(` + DROP TABLE "stickers" + `); + await queryRunner.query(` + ALTER TABLE "temporary_stickers" + RENAME TO "stickers" + `); + await queryRunner.query(` + CREATE TABLE "temporary_attachments" ( + "id" varchar PRIMARY KEY NOT NULL, + "filename" varchar NOT NULL, + "size" integer NOT NULL, + "url" varchar NOT NULL, + "proxy_url" varchar NOT NULL, + "height" integer, + "width" integer, + "content_type" varchar, + "message_id" varchar, + CONSTRAINT "FK_623e10eec51ada466c5038979e3" FOREIGN KEY ("message_id") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_attachments"( + "id", + "filename", + "size", + "url", + "proxy_url", + "height", + "width", + "content_type", + "message_id" + ) + SELECT "id", + "filename", + "size", + "url", + "proxy_url", + "height", + "width", + "content_type", + "message_id" + FROM "attachments" + `); + await queryRunner.query(` + DROP TABLE "attachments" + `); + await queryRunner.query(` + ALTER TABLE "temporary_attachments" + RENAME TO "attachments" + `); + await queryRunner.query(` + DROP INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" + `); + await queryRunner.query(` + DROP INDEX "IDX_05535bc695e9f7ee104616459d" + `); + await queryRunner.query(` + DROP INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" + `); + await queryRunner.query(` + CREATE TABLE "temporary_messages" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar, + "guild_id" varchar, + "author_id" varchar, + "member_id" varchar, + "webhook_id" varchar, + "application_id" varchar, + "content" varchar, + "timestamp" datetime NOT NULL DEFAULT (datetime('now')), + "edited_timestamp" datetime, + "tts" boolean, + "mention_everyone" boolean, + "embeds" text NOT NULL, + "reactions" text NOT NULL, + "nonce" text, + "pinned" boolean, + "type" integer NOT NULL, + "activity" text, + "flags" varchar, + "message_reference" text, + "interaction" text, + "components" text, + "message_reference_id" varchar, + CONSTRAINT "FK_86b9109b155eb70c0a2ca3b4b6d" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_b193588441b085352a4c0109423" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_05535bc695e9f7ee104616459d3" FOREIGN KEY ("author_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_b0525304f2262b7014245351c76" FOREIGN KEY ("member_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_f83c04bcf1df4e5c0e7a52ed348" FOREIGN KEY ("webhook_id") REFERENCES "webhooks" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_5d3ec1cb962de6488637fd779d6" FOREIGN KEY ("application_id") REFERENCES "applications" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_61a92bb65b302a76d9c1fcd3174" FOREIGN KEY ("message_reference_id") REFERENCES "messages" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_messages"( + "id", + "channel_id", + "guild_id", + "author_id", + "member_id", + "webhook_id", + "application_id", + "content", + "timestamp", + "edited_timestamp", + "tts", + "mention_everyone", + "embeds", + "reactions", + "nonce", + "pinned", + "type", + "activity", + "flags", + "message_reference", + "interaction", + "components", + "message_reference_id" + ) + SELECT "id", + "channel_id", + "guild_id", + "author_id", + "member_id", + "webhook_id", + "application_id", + "content", + "timestamp", + "edited_timestamp", + "tts", + "mention_everyone", + "embeds", + "reactions", + "nonce", + "pinned", + "type", + "activity", + "flags", + "message_reference", + "interaction", + "components", + "message_reference_id" + FROM "messages" + `); + await queryRunner.query(` + DROP TABLE "messages" + `); + await queryRunner.query(` + ALTER TABLE "temporary_messages" + RENAME TO "messages" + `); + await queryRunner.query(` + CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON "messages" ("channel_id") + `); + await queryRunner.query(` + CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON "messages" ("author_id") + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON "messages" ("channel_id", "id") + `); + await queryRunner.query(` + DROP INDEX "IDX_0abf8b443321bd3cf7f81ee17a" + `); + await queryRunner.query(` + CREATE TABLE "temporary_read_states" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar NOT NULL, + "user_id" varchar NOT NULL, + "last_message_id" varchar, + "public_ack" varchar, + "notifications_cursor" varchar, + "last_pin_timestamp" datetime, + "mention_count" integer, + CONSTRAINT "FK_40da2fca4e0eaf7a23b5bfc5d34" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_195f92e4dd1254a4e348c043763" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_read_states"( + "id", + "channel_id", + "user_id", + "last_message_id", + "public_ack", + "notifications_cursor", + "last_pin_timestamp", + "mention_count" + ) + SELECT "id", + "channel_id", + "user_id", + "last_message_id", + "public_ack", + "notifications_cursor", + "last_pin_timestamp", + "mention_count" + FROM "read_states" + `); + await queryRunner.query(` + DROP TABLE "read_states" + `); + await queryRunner.query(` + ALTER TABLE "temporary_read_states" + RENAME TO "read_states" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON "read_states" ("channel_id", "user_id") + `); + await queryRunner.query(` + CREATE TABLE "temporary_invites" ( + "code" varchar PRIMARY KEY NOT NULL, + "temporary" boolean NOT NULL, + "uses" integer NOT NULL, + "max_uses" integer NOT NULL, + "max_age" integer NOT NULL, + "created_at" datetime NOT NULL, + "expires_at" datetime NOT NULL, + "guild_id" varchar, + "channel_id" varchar, + "inviter_id" varchar, + "target_user_id" varchar, + "target_user_type" integer, + "vanity_url" boolean, + CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY ("inviter_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY ("target_user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_invites"( + "code", + "temporary", + "uses", + "max_uses", + "max_age", + "created_at", + "expires_at", + "guild_id", + "channel_id", + "inviter_id", + "target_user_id", + "target_user_type", + "vanity_url" + ) + SELECT "code", + "temporary", + "uses", + "max_uses", + "max_age", + "created_at", + "expires_at", + "guild_id", + "channel_id", + "inviter_id", + "target_user_id", + "target_user_type", + "vanity_url" + FROM "invites" + `); + await queryRunner.query(` + DROP TABLE "invites" + `); + await queryRunner.query(` + ALTER TABLE "temporary_invites" + RENAME TO "invites" + `); + await queryRunner.query(` + CREATE TABLE "temporary_voice_states" ( + "id" varchar PRIMARY KEY NOT NULL, + "guild_id" varchar, + "channel_id" varchar, + "user_id" varchar, + "session_id" varchar NOT NULL, + "token" varchar, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "self_deaf" boolean NOT NULL, + "self_mute" boolean NOT NULL, + "self_stream" boolean, + "self_video" boolean NOT NULL, + "suppress" boolean NOT NULL, + "request_to_speak_timestamp" datetime, + CONSTRAINT "FK_03779ef216d4b0358470d9cb748" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_9f8d389866b40b6657edd026dd4" FOREIGN KEY ("channel_id") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_5fe1d5f931a67e85039c640001b" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_voice_states"( + "id", + "guild_id", + "channel_id", + "user_id", + "session_id", + "token", + "deaf", + "mute", + "self_deaf", + "self_mute", + "self_stream", + "self_video", + "suppress", + "request_to_speak_timestamp" + ) + SELECT "id", + "guild_id", + "channel_id", + "user_id", + "session_id", + "token", + "deaf", + "mute", + "self_deaf", + "self_mute", + "self_stream", + "self_video", + "suppress", + "request_to_speak_timestamp" + FROM "voice_states" + `); + await queryRunner.query(` + DROP TABLE "voice_states" + `); + await queryRunner.query(` + ALTER TABLE "temporary_voice_states" + RENAME TO "voice_states" + `); + await queryRunner.query(` + CREATE TABLE "temporary_channels" ( + "id" varchar PRIMARY KEY NOT NULL, + "created_at" datetime NOT NULL, + "name" varchar, + "icon" text, + "type" integer NOT NULL, + "last_message_id" varchar, + "guild_id" varchar, + "parent_id" varchar, + "owner_id" varchar, + "last_pin_timestamp" integer, + "default_auto_archive_duration" integer, + "position" integer, + "permission_overwrites" text, + "video_quality_mode" integer, + "bitrate" integer, + "user_limit" integer, + "nsfw" boolean, + "rate_limit_per_user" integer, + "topic" varchar, + "retention_policy_id" varchar, + CONSTRAINT "FK_c253dafe5f3a03ec00cd8fb4581" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_3274522d14af40540b1a883fc80" FOREIGN KEY ("parent_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_3873ed438575cce703ecff4fc7b" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_channels"( + "id", + "created_at", + "name", + "icon", + "type", + "last_message_id", + "guild_id", + "parent_id", + "owner_id", + "last_pin_timestamp", + "default_auto_archive_duration", + "position", + "permission_overwrites", + "video_quality_mode", + "bitrate", + "user_limit", + "nsfw", + "rate_limit_per_user", + "topic", + "retention_policy_id" + ) + SELECT "id", + "created_at", + "name", + "icon", + "type", + "last_message_id", + "guild_id", + "parent_id", + "owner_id", + "last_pin_timestamp", + "default_auto_archive_duration", + "position", + "permission_overwrites", + "video_quality_mode", + "bitrate", + "user_limit", + "nsfw", + "rate_limit_per_user", + "topic", + "retention_policy_id" + FROM "channels" + `); + await queryRunner.query(` + DROP TABLE "channels" + `); + await queryRunner.query(` + ALTER TABLE "temporary_channels" + RENAME TO "channels" + `); + await queryRunner.query(` + CREATE TABLE "temporary_emojis" ( + "id" varchar PRIMARY KEY NOT NULL, + "animated" boolean NOT NULL, + "available" boolean NOT NULL, + "guild_id" varchar NOT NULL, + "user_id" varchar, + "managed" boolean NOT NULL, + "name" varchar NOT NULL, + "require_colons" boolean NOT NULL, + "roles" text NOT NULL, + "groups" text, + CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_fa7ddd5f9a214e28ce596548421" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_emojis"( + "id", + "animated", + "available", + "guild_id", + "user_id", + "managed", + "name", + "require_colons", + "roles", + "groups" + ) + SELECT "id", + "animated", + "available", + "guild_id", + "user_id", + "managed", + "name", + "require_colons", + "roles", + "groups" + FROM "emojis" + `); + await queryRunner.query(` + DROP TABLE "emojis" + `); + await queryRunner.query(` + ALTER TABLE "temporary_emojis" + RENAME TO "emojis" + `); + await queryRunner.query(` + CREATE TABLE "temporary_templates" ( + "id" varchar PRIMARY KEY NOT NULL, + "code" varchar NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "usage_count" integer, + "creator_id" varchar, + "created_at" datetime NOT NULL, + "updated_at" datetime NOT NULL, + "source_guild_id" varchar, + "serialized_source_guild" text NOT NULL, + CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE ("code"), + CONSTRAINT "FK_d7374b7f8f5fbfdececa4fb62e1" FOREIGN KEY ("creator_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" FOREIGN KEY ("source_guild_id") REFERENCES "guilds" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_templates"( + "id", + "code", + "name", + "description", + "usage_count", + "creator_id", + "created_at", + "updated_at", + "source_guild_id", + "serialized_source_guild" + ) + SELECT "id", + "code", + "name", + "description", + "usage_count", + "creator_id", + "created_at", + "updated_at", + "source_guild_id", + "serialized_source_guild" + FROM "templates" + `); + await queryRunner.query(` + DROP TABLE "templates" + `); + await queryRunner.query(` + ALTER TABLE "temporary_templates" + RENAME TO "templates" + `); + await queryRunner.query(` + CREATE TABLE "temporary_guilds" ( + "id" varchar PRIMARY KEY NOT NULL, + "afk_channel_id" varchar, + "afk_timeout" integer, + "banner" varchar, + "default_message_notifications" integer, + "description" varchar, + "discovery_splash" varchar, + "explicit_content_filter" integer, + "features" text NOT NULL, + "primary_category_id" integer, + "icon" varchar, + "large" boolean, + "max_members" integer, + "max_presences" integer, + "max_video_channel_users" integer, + "member_count" integer, + "presence_count" integer, + "template_id" varchar, + "mfa_level" integer, + "name" varchar NOT NULL, + "owner_id" varchar, + "preferred_locale" varchar, + "premium_subscription_count" integer, + "premium_tier" integer, + "public_updates_channel_id" varchar, + "rules_channel_id" varchar, + "region" varchar, + "splash" varchar, + "system_channel_id" varchar, + "system_channel_flags" integer, + "unavailable" boolean, + "verification_level" integer, + "welcome_screen" text NOT NULL, + "widget_channel_id" varchar, + "widget_enabled" boolean, + "nsfw_level" integer, + "nsfw" boolean, + "parent" varchar, + CONSTRAINT "FK_f591a66b8019d87b0fe6c12dad6" FOREIGN KEY ("afk_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_e2a2f873a64a5cf62526de42325" FOREIGN KEY ("template_id") REFERENCES "templates" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_fc1a451727e3643ca572a3bb394" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_8d450b016dc8bec35f36729e4b0" FOREIGN KEY ("public_updates_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_95828668aa333460582e0ca6396" FOREIGN KEY ("rules_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_cfc3d3ad260f8121c95b31a1fce" FOREIGN KEY ("system_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_9d1d665379eefde7876a17afa99" FOREIGN KEY ("widget_channel_id") REFERENCES "channels" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_guilds"( + "id", + "afk_channel_id", + "afk_timeout", + "banner", + "default_message_notifications", + "description", + "discovery_splash", + "explicit_content_filter", + "features", + "primary_category_id", + "icon", + "large", + "max_members", + "max_presences", + "max_video_channel_users", + "member_count", + "presence_count", + "template_id", + "mfa_level", + "name", + "owner_id", + "preferred_locale", + "premium_subscription_count", + "premium_tier", + "public_updates_channel_id", + "rules_channel_id", + "region", + "splash", + "system_channel_id", + "system_channel_flags", + "unavailable", + "verification_level", + "welcome_screen", + "widget_channel_id", + "widget_enabled", + "nsfw_level", + "nsfw", + "parent" + ) + SELECT "id", + "afk_channel_id", + "afk_timeout", + "banner", + "default_message_notifications", + "description", + "discovery_splash", + "explicit_content_filter", + "features", + "primary_category_id", + "icon", + "large", + "max_members", + "max_presences", + "max_video_channel_users", + "member_count", + "presence_count", + "template_id", + "mfa_level", + "name", + "owner_id", + "preferred_locale", + "premium_subscription_count", + "premium_tier", + "public_updates_channel_id", + "rules_channel_id", + "region", + "splash", + "system_channel_id", + "system_channel_flags", + "unavailable", + "verification_level", + "welcome_screen", + "widget_channel_id", + "widget_enabled", + "nsfw_level", + "nsfw", + "parent" + FROM "guilds" + `); + await queryRunner.query(` + DROP TABLE "guilds" + `); + await queryRunner.query(` + ALTER TABLE "temporary_guilds" + RENAME TO "guilds" + `); + await queryRunner.query(` + CREATE TABLE "temporary_team_members" ( + "id" varchar PRIMARY KEY NOT NULL, + "membership_state" integer NOT NULL, + "permissions" text NOT NULL, + "team_id" varchar, + "user_id" varchar, + CONSTRAINT "FK_fdad7d5768277e60c40e01cdcea" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_team_members"( + "id", + "membership_state", + "permissions", + "team_id", + "user_id" + ) + SELECT "id", + "membership_state", + "permissions", + "team_id", + "user_id" + FROM "team_members" + `); + await queryRunner.query(` + DROP TABLE "team_members" + `); + await queryRunner.query(` + ALTER TABLE "temporary_team_members" + RENAME TO "team_members" + `); + await queryRunner.query(` + CREATE TABLE "temporary_teams" ( + "id" varchar PRIMARY KEY NOT NULL, + "icon" varchar, + "name" varchar NOT NULL, + "owner_user_id" varchar, + CONSTRAINT "FK_13f00abf7cb6096c43ecaf8c108" FOREIGN KEY ("owner_user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_teams"("id", "icon", "name", "owner_user_id") + SELECT "id", + "icon", + "name", + "owner_user_id" + FROM "teams" + `); + await queryRunner.query(` + DROP TABLE "teams" + `); + await queryRunner.query(` + ALTER TABLE "temporary_teams" + RENAME TO "teams" + `); + await queryRunner.query(` + CREATE TABLE "temporary_applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar, + CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY ("team_id") REFERENCES "teams" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_applications"( + "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + ) + SELECT "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + FROM "applications" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + ALTER TABLE "temporary_applications" + RENAME TO "applications" + `); + await queryRunner.query(` + CREATE TABLE "temporary_audit_logs" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "action_type" integer NOT NULL, + "options" text, + "changes" text NOT NULL, + "reason" varchar, + "target_id" varchar, + CONSTRAINT "FK_3cd01cd3ae7aab010310d96ac8e" FOREIGN KEY ("target_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT "FK_bd2726fd31b35443f2245b93ba0" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_audit_logs"( + "id", + "user_id", + "action_type", + "options", + "changes", + "reason", + "target_id" + ) + SELECT "id", + "user_id", + "action_type", + "options", + "changes", + "reason", + "target_id" + FROM "audit_logs" + `); + await queryRunner.query(` + DROP TABLE "audit_logs" + `); + await queryRunner.query(` + ALTER TABLE "temporary_audit_logs" + RENAME TO "audit_logs" + `); + await queryRunner.query(` + CREATE TABLE "temporary_sessions" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "session_id" varchar NOT NULL, + "activities" text, + "client_info" text NOT NULL, + "status" varchar NOT NULL, + CONSTRAINT "FK_085d540d9f418cfbdc7bd55bb19" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_sessions"( + "id", + "user_id", + "session_id", + "activities", + "client_info", + "status" + ) + SELECT "id", + "user_id", + "session_id", + "activities", + "client_info", + "status" + FROM "sessions" + `); + await queryRunner.query(` + DROP TABLE "sessions" + `); + await queryRunner.query(` + ALTER TABLE "temporary_sessions" + RENAME TO "sessions" + `); + await queryRunner.query(` + CREATE TABLE "temporary_sticker_packs" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "banner_asset_id" varchar, + "cover_sticker_id" varchar, + "coverStickerId" varchar, + CONSTRAINT "FK_448fafba4355ee1c837bbc865f1" FOREIGN KEY ("coverStickerId") REFERENCES "stickers" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_sticker_packs"( + "id", + "name", + "description", + "banner_asset_id", + "cover_sticker_id", + "coverStickerId" + ) + SELECT "id", + "name", + "description", + "banner_asset_id", + "cover_sticker_id", + "coverStickerId" + FROM "sticker_packs" + `); + await queryRunner.query(` + DROP TABLE "sticker_packs" + `); + await queryRunner.query(` + ALTER TABLE "temporary_sticker_packs" + RENAME TO "sticker_packs" + `); + await queryRunner.query(` + CREATE TABLE "temporary_notes" ( + "id" varchar PRIMARY KEY NOT NULL, + "content" varchar NOT NULL, + "owner_id" varchar, + "target_id" varchar, + CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE ("owner_id", "target_id"), + CONSTRAINT "FK_f9e103f8ae67cb1787063597925" FOREIGN KEY ("owner_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, + CONSTRAINT "FK_23e08e5b4481711d573e1abecdc" FOREIGN KEY ("target_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE NO ACTION + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_notes"("id", "content", "owner_id", "target_id") + SELECT "id", + "content", + "owner_id", + "target_id" + FROM "notes" + `); + await queryRunner.query(` + DROP TABLE "notes" + `); + await queryRunner.query(` + ALTER TABLE "temporary_notes" + RENAME TO "notes" + `); + await queryRunner.query(` + DROP INDEX "IDX_5d7ddc8a5f9c167f548625e772" + `); + await queryRunner.query(` + DROP INDEX "IDX_e9080e7a7997a0170026d5139c" + `); + await queryRunner.query(` + CREATE TABLE "temporary_member_roles" ( + "index" integer NOT NULL, + "role_id" varchar NOT NULL, + CONSTRAINT "FK_5d7ddc8a5f9c167f548625e772e" FOREIGN KEY ("index") REFERENCES "members" ("index") ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT "FK_e9080e7a7997a0170026d5139c1" FOREIGN KEY ("role_id") REFERENCES "roles" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + PRIMARY KEY ("index", "role_id") + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_member_roles"("index", "role_id") + SELECT "index", + "role_id" + FROM "member_roles" + `); + await queryRunner.query(` + DROP TABLE "member_roles" + `); + await queryRunner.query(` + ALTER TABLE "temporary_member_roles" + RENAME TO "member_roles" + `); + await queryRunner.query(` + CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON "member_roles" ("index") + `); + await queryRunner.query(` + CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON "member_roles" ("role_id") + `); + await queryRunner.query(` + DROP INDEX "IDX_a343387fc560ef378760681c23" + `); + await queryRunner.query(` + DROP INDEX "IDX_b831eb18ceebd28976239b1e2f" + `); + await queryRunner.query(` + CREATE TABLE "temporary_message_user_mentions" ( + "messagesId" varchar NOT NULL, + "usersId" varchar NOT NULL, + CONSTRAINT "FK_a343387fc560ef378760681c236" FOREIGN KEY ("messagesId") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT "FK_b831eb18ceebd28976239b1e2f8" FOREIGN KEY ("usersId") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + PRIMARY KEY ("messagesId", "usersId") + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_message_user_mentions"("messagesId", "usersId") + SELECT "messagesId", + "usersId" + FROM "message_user_mentions" + `); + await queryRunner.query(` + DROP TABLE "message_user_mentions" + `); + await queryRunner.query(` + ALTER TABLE "temporary_message_user_mentions" + RENAME TO "message_user_mentions" + `); + await queryRunner.query(` + CREATE INDEX "IDX_a343387fc560ef378760681c23" ON "message_user_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON "message_user_mentions" ("usersId") + `); + await queryRunner.query(` + DROP INDEX "IDX_a8242cf535337a490b0feaea0b" + `); + await queryRunner.query(` + DROP INDEX "IDX_29d63eb1a458200851bc37d074" + `); + await queryRunner.query(` + CREATE TABLE "temporary_message_role_mentions" ( + "messagesId" varchar NOT NULL, + "rolesId" varchar NOT NULL, + CONSTRAINT "FK_a8242cf535337a490b0feaea0b4" FOREIGN KEY ("messagesId") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT "FK_29d63eb1a458200851bc37d074b" FOREIGN KEY ("rolesId") REFERENCES "roles" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + PRIMARY KEY ("messagesId", "rolesId") + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_message_role_mentions"("messagesId", "rolesId") + SELECT "messagesId", + "rolesId" + FROM "message_role_mentions" + `); + await queryRunner.query(` + DROP TABLE "message_role_mentions" + `); + await queryRunner.query(` + ALTER TABLE "temporary_message_role_mentions" + RENAME TO "message_role_mentions" + `); + await queryRunner.query(` + CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON "message_role_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON "message_role_mentions" ("rolesId") + `); + await queryRunner.query(` + DROP INDEX "IDX_2a27102ecd1d81b4582a436092" + `); + await queryRunner.query(` + DROP INDEX "IDX_bdb8c09e1464cabf62105bf4b9" + `); + await queryRunner.query(` + CREATE TABLE "temporary_message_channel_mentions" ( + "messagesId" varchar NOT NULL, + "channelsId" varchar NOT NULL, + CONSTRAINT "FK_2a27102ecd1d81b4582a4360921" FOREIGN KEY ("messagesId") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT "FK_bdb8c09e1464cabf62105bf4b9d" FOREIGN KEY ("channelsId") REFERENCES "channels" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + PRIMARY KEY ("messagesId", "channelsId") + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_message_channel_mentions"("messagesId", "channelsId") + SELECT "messagesId", + "channelsId" + FROM "message_channel_mentions" + `); + await queryRunner.query(` + DROP TABLE "message_channel_mentions" + `); + await queryRunner.query(` + ALTER TABLE "temporary_message_channel_mentions" + RENAME TO "message_channel_mentions" + `); + await queryRunner.query(` + CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON "message_channel_mentions" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON "message_channel_mentions" ("channelsId") + `); + await queryRunner.query(` + DROP INDEX "IDX_40bb6f23e7cc133292e92829d2" + `); + await queryRunner.query(` + DROP INDEX "IDX_e22a70819d07659c7a71c112a1" + `); + await queryRunner.query(` + CREATE TABLE "temporary_message_stickers" ( + "messagesId" varchar NOT NULL, + "stickersId" varchar NOT NULL, + CONSTRAINT "FK_40bb6f23e7cc133292e92829d28" FOREIGN KEY ("messagesId") REFERENCES "messages" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT "FK_e22a70819d07659c7a71c112a1f" FOREIGN KEY ("stickersId") REFERENCES "stickers" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + PRIMARY KEY ("messagesId", "stickersId") + ) + `); + await queryRunner.query(` + INSERT INTO "temporary_message_stickers"("messagesId", "stickersId") + SELECT "messagesId", + "stickersId" + FROM "message_stickers" + `); + await queryRunner.query(` + DROP TABLE "message_stickers" + `); + await queryRunner.query(` + ALTER TABLE "temporary_message_stickers" + RENAME TO "message_stickers" + `); + await queryRunner.query(` + CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON "message_stickers" ("messagesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON "message_stickers" ("stickersId") + `); + await queryRunner.query(` + CREATE TABLE "query-result-cache" ( + "id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, + "identifier" varchar, + "time" bigint NOT NULL, + "duration" integer NOT NULL, + "query" text NOT NULL, + "result" text NOT NULL + ) + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + DROP TABLE "query-result-cache" + `); + await queryRunner.query(` + DROP INDEX "IDX_e22a70819d07659c7a71c112a1" + `); + await queryRunner.query(` + DROP INDEX "IDX_40bb6f23e7cc133292e92829d2" + `); + await queryRunner.query(` + ALTER TABLE "message_stickers" + RENAME TO "temporary_message_stickers" + `); + await queryRunner.query(` + CREATE TABLE "message_stickers" ( + "messagesId" varchar NOT NULL, + "stickersId" varchar NOT NULL, + PRIMARY KEY ("messagesId", "stickersId") + ) + `); + await queryRunner.query(` + INSERT INTO "message_stickers"("messagesId", "stickersId") + SELECT "messagesId", + "stickersId" + FROM "temporary_message_stickers" + `); + await queryRunner.query(` + DROP TABLE "temporary_message_stickers" + `); + await queryRunner.query(` + CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON "message_stickers" ("stickersId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON "message_stickers" ("messagesId") + `); + await queryRunner.query(` + DROP INDEX "IDX_bdb8c09e1464cabf62105bf4b9" + `); + await queryRunner.query(` + DROP INDEX "IDX_2a27102ecd1d81b4582a436092" + `); + await queryRunner.query(` + ALTER TABLE "message_channel_mentions" + RENAME TO "temporary_message_channel_mentions" + `); + await queryRunner.query(` + CREATE TABLE "message_channel_mentions" ( + "messagesId" varchar NOT NULL, + "channelsId" varchar NOT NULL, + PRIMARY KEY ("messagesId", "channelsId") + ) + `); + await queryRunner.query(` + INSERT INTO "message_channel_mentions"("messagesId", "channelsId") + SELECT "messagesId", + "channelsId" + FROM "temporary_message_channel_mentions" + `); + await queryRunner.query(` + DROP TABLE "temporary_message_channel_mentions" + `); + await queryRunner.query(` + CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON "message_channel_mentions" ("channelsId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON "message_channel_mentions" ("messagesId") + `); + await queryRunner.query(` + DROP INDEX "IDX_29d63eb1a458200851bc37d074" + `); + await queryRunner.query(` + DROP INDEX "IDX_a8242cf535337a490b0feaea0b" + `); + await queryRunner.query(` + ALTER TABLE "message_role_mentions" + RENAME TO "temporary_message_role_mentions" + `); + await queryRunner.query(` + CREATE TABLE "message_role_mentions" ( + "messagesId" varchar NOT NULL, + "rolesId" varchar NOT NULL, + PRIMARY KEY ("messagesId", "rolesId") + ) + `); + await queryRunner.query(` + INSERT INTO "message_role_mentions"("messagesId", "rolesId") + SELECT "messagesId", + "rolesId" + FROM "temporary_message_role_mentions" + `); + await queryRunner.query(` + DROP TABLE "temporary_message_role_mentions" + `); + await queryRunner.query(` + CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON "message_role_mentions" ("rolesId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON "message_role_mentions" ("messagesId") + `); + await queryRunner.query(` + DROP INDEX "IDX_b831eb18ceebd28976239b1e2f" + `); + await queryRunner.query(` + DROP INDEX "IDX_a343387fc560ef378760681c23" + `); + await queryRunner.query(` + ALTER TABLE "message_user_mentions" + RENAME TO "temporary_message_user_mentions" + `); + await queryRunner.query(` + CREATE TABLE "message_user_mentions" ( + "messagesId" varchar NOT NULL, + "usersId" varchar NOT NULL, + PRIMARY KEY ("messagesId", "usersId") + ) + `); + await queryRunner.query(` + INSERT INTO "message_user_mentions"("messagesId", "usersId") + SELECT "messagesId", + "usersId" + FROM "temporary_message_user_mentions" + `); + await queryRunner.query(` + DROP TABLE "temporary_message_user_mentions" + `); + await queryRunner.query(` + CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON "message_user_mentions" ("usersId") + `); + await queryRunner.query(` + CREATE INDEX "IDX_a343387fc560ef378760681c23" ON "message_user_mentions" ("messagesId") + `); + await queryRunner.query(` + DROP INDEX "IDX_e9080e7a7997a0170026d5139c" + `); + await queryRunner.query(` + DROP INDEX "IDX_5d7ddc8a5f9c167f548625e772" + `); + await queryRunner.query(` + ALTER TABLE "member_roles" + RENAME TO "temporary_member_roles" + `); + await queryRunner.query(` + CREATE TABLE "member_roles" ( + "index" integer NOT NULL, + "role_id" varchar NOT NULL, + PRIMARY KEY ("index", "role_id") + ) + `); + await queryRunner.query(` + INSERT INTO "member_roles"("index", "role_id") + SELECT "index", + "role_id" + FROM "temporary_member_roles" + `); + await queryRunner.query(` + DROP TABLE "temporary_member_roles" + `); + await queryRunner.query(` + CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON "member_roles" ("role_id") + `); + await queryRunner.query(` + CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON "member_roles" ("index") + `); + await queryRunner.query(` + ALTER TABLE "notes" + RENAME TO "temporary_notes" + `); + await queryRunner.query(` + CREATE TABLE "notes" ( + "id" varchar PRIMARY KEY NOT NULL, + "content" varchar NOT NULL, + "owner_id" varchar, + "target_id" varchar, + CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE ("owner_id", "target_id") + ) + `); + await queryRunner.query(` + INSERT INTO "notes"("id", "content", "owner_id", "target_id") + SELECT "id", + "content", + "owner_id", + "target_id" + FROM "temporary_notes" + `); + await queryRunner.query(` + DROP TABLE "temporary_notes" + `); + await queryRunner.query(` + ALTER TABLE "sticker_packs" + RENAME TO "temporary_sticker_packs" + `); + await queryRunner.query(` + CREATE TABLE "sticker_packs" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "banner_asset_id" varchar, + "cover_sticker_id" varchar, + "coverStickerId" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "sticker_packs"( + "id", + "name", + "description", + "banner_asset_id", + "cover_sticker_id", + "coverStickerId" + ) + SELECT "id", + "name", + "description", + "banner_asset_id", + "cover_sticker_id", + "coverStickerId" + FROM "temporary_sticker_packs" + `); + await queryRunner.query(` + DROP TABLE "temporary_sticker_packs" + `); + await queryRunner.query(` + ALTER TABLE "sessions" + RENAME TO "temporary_sessions" + `); + await queryRunner.query(` + CREATE TABLE "sessions" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "session_id" varchar NOT NULL, + "activities" text, + "client_info" text NOT NULL, + "status" varchar NOT NULL + ) + `); + await queryRunner.query(` + INSERT INTO "sessions"( + "id", + "user_id", + "session_id", + "activities", + "client_info", + "status" + ) + SELECT "id", + "user_id", + "session_id", + "activities", + "client_info", + "status" + FROM "temporary_sessions" + `); + await queryRunner.query(` + DROP TABLE "temporary_sessions" + `); + await queryRunner.query(` + ALTER TABLE "audit_logs" + RENAME TO "temporary_audit_logs" + `); + await queryRunner.query(` + CREATE TABLE "audit_logs" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "action_type" integer NOT NULL, + "options" text, + "changes" text NOT NULL, + "reason" varchar, + "target_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "audit_logs"( + "id", + "user_id", + "action_type", + "options", + "changes", + "reason", + "target_id" + ) + SELECT "id", + "user_id", + "action_type", + "options", + "changes", + "reason", + "target_id" + FROM "temporary_audit_logs" + `); + await queryRunner.query(` + DROP TABLE "temporary_audit_logs" + `); + await queryRunner.query(` + ALTER TABLE "applications" + RENAME TO "temporary_applications" + `); + await queryRunner.query(` + CREATE TABLE "applications" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "icon" varchar, + "description" varchar NOT NULL, + "rpc_origins" text, + "bot_public" boolean NOT NULL, + "bot_require_code_grant" boolean NOT NULL, + "terms_of_service_url" varchar, + "privacy_policy_url" varchar, + "summary" varchar, + "verify_key" varchar NOT NULL, + "primary_sku_id" varchar, + "slug" varchar, + "cover_image" varchar, + "flags" varchar NOT NULL, + "owner_id" varchar, + "team_id" varchar, + "guild_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "applications"( + "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + ) + SELECT "id", + "name", + "icon", + "description", + "rpc_origins", + "bot_public", + "bot_require_code_grant", + "terms_of_service_url", + "privacy_policy_url", + "summary", + "verify_key", + "primary_sku_id", + "slug", + "cover_image", + "flags", + "owner_id", + "team_id", + "guild_id" + FROM "temporary_applications" + `); + await queryRunner.query(` + DROP TABLE "temporary_applications" + `); + await queryRunner.query(` + ALTER TABLE "teams" + RENAME TO "temporary_teams" + `); + await queryRunner.query(` + CREATE TABLE "teams" ( + "id" varchar PRIMARY KEY NOT NULL, + "icon" varchar, + "name" varchar NOT NULL, + "owner_user_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "teams"("id", "icon", "name", "owner_user_id") + SELECT "id", + "icon", + "name", + "owner_user_id" + FROM "temporary_teams" + `); + await queryRunner.query(` + DROP TABLE "temporary_teams" + `); + await queryRunner.query(` + ALTER TABLE "team_members" + RENAME TO "temporary_team_members" + `); + await queryRunner.query(` + CREATE TABLE "team_members" ( + "id" varchar PRIMARY KEY NOT NULL, + "membership_state" integer NOT NULL, + "permissions" text NOT NULL, + "team_id" varchar, + "user_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "team_members"( + "id", + "membership_state", + "permissions", + "team_id", + "user_id" + ) + SELECT "id", + "membership_state", + "permissions", + "team_id", + "user_id" + FROM "temporary_team_members" + `); + await queryRunner.query(` + DROP TABLE "temporary_team_members" + `); + await queryRunner.query(` + ALTER TABLE "guilds" + RENAME TO "temporary_guilds" + `); + await queryRunner.query(` + CREATE TABLE "guilds" ( + "id" varchar PRIMARY KEY NOT NULL, + "afk_channel_id" varchar, + "afk_timeout" integer, + "banner" varchar, + "default_message_notifications" integer, + "description" varchar, + "discovery_splash" varchar, + "explicit_content_filter" integer, + "features" text NOT NULL, + "primary_category_id" integer, + "icon" varchar, + "large" boolean, + "max_members" integer, + "max_presences" integer, + "max_video_channel_users" integer, + "member_count" integer, + "presence_count" integer, + "template_id" varchar, + "mfa_level" integer, + "name" varchar NOT NULL, + "owner_id" varchar, + "preferred_locale" varchar, + "premium_subscription_count" integer, + "premium_tier" integer, + "public_updates_channel_id" varchar, + "rules_channel_id" varchar, + "region" varchar, + "splash" varchar, + "system_channel_id" varchar, + "system_channel_flags" integer, + "unavailable" boolean, + "verification_level" integer, + "welcome_screen" text NOT NULL, + "widget_channel_id" varchar, + "widget_enabled" boolean, + "nsfw_level" integer, + "nsfw" boolean, + "parent" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "guilds"( + "id", + "afk_channel_id", + "afk_timeout", + "banner", + "default_message_notifications", + "description", + "discovery_splash", + "explicit_content_filter", + "features", + "primary_category_id", + "icon", + "large", + "max_members", + "max_presences", + "max_video_channel_users", + "member_count", + "presence_count", + "template_id", + "mfa_level", + "name", + "owner_id", + "preferred_locale", + "premium_subscription_count", + "premium_tier", + "public_updates_channel_id", + "rules_channel_id", + "region", + "splash", + "system_channel_id", + "system_channel_flags", + "unavailable", + "verification_level", + "welcome_screen", + "widget_channel_id", + "widget_enabled", + "nsfw_level", + "nsfw", + "parent" + ) + SELECT "id", + "afk_channel_id", + "afk_timeout", + "banner", + "default_message_notifications", + "description", + "discovery_splash", + "explicit_content_filter", + "features", + "primary_category_id", + "icon", + "large", + "max_members", + "max_presences", + "max_video_channel_users", + "member_count", + "presence_count", + "template_id", + "mfa_level", + "name", + "owner_id", + "preferred_locale", + "premium_subscription_count", + "premium_tier", + "public_updates_channel_id", + "rules_channel_id", + "region", + "splash", + "system_channel_id", + "system_channel_flags", + "unavailable", + "verification_level", + "welcome_screen", + "widget_channel_id", + "widget_enabled", + "nsfw_level", + "nsfw", + "parent" + FROM "temporary_guilds" + `); + await queryRunner.query(` + DROP TABLE "temporary_guilds" + `); + await queryRunner.query(` + ALTER TABLE "templates" + RENAME TO "temporary_templates" + `); + await queryRunner.query(` + CREATE TABLE "templates" ( + "id" varchar PRIMARY KEY NOT NULL, + "code" varchar NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "usage_count" integer, + "creator_id" varchar, + "created_at" datetime NOT NULL, + "updated_at" datetime NOT NULL, + "source_guild_id" varchar, + "serialized_source_guild" text NOT NULL, + CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE ("code") + ) + `); + await queryRunner.query(` + INSERT INTO "templates"( + "id", + "code", + "name", + "description", + "usage_count", + "creator_id", + "created_at", + "updated_at", + "source_guild_id", + "serialized_source_guild" + ) + SELECT "id", + "code", + "name", + "description", + "usage_count", + "creator_id", + "created_at", + "updated_at", + "source_guild_id", + "serialized_source_guild" + FROM "temporary_templates" + `); + await queryRunner.query(` + DROP TABLE "temporary_templates" + `); + await queryRunner.query(` + ALTER TABLE "emojis" + RENAME TO "temporary_emojis" + `); + await queryRunner.query(` + CREATE TABLE "emojis" ( + "id" varchar PRIMARY KEY NOT NULL, + "animated" boolean NOT NULL, + "available" boolean NOT NULL, + "guild_id" varchar NOT NULL, + "user_id" varchar, + "managed" boolean NOT NULL, + "name" varchar NOT NULL, + "require_colons" boolean NOT NULL, + "roles" text NOT NULL, + "groups" text + ) + `); + await queryRunner.query(` + INSERT INTO "emojis"( + "id", + "animated", + "available", + "guild_id", + "user_id", + "managed", + "name", + "require_colons", + "roles", + "groups" + ) + SELECT "id", + "animated", + "available", + "guild_id", + "user_id", + "managed", + "name", + "require_colons", + "roles", + "groups" + FROM "temporary_emojis" + `); + await queryRunner.query(` + DROP TABLE "temporary_emojis" + `); + await queryRunner.query(` + ALTER TABLE "channels" + RENAME TO "temporary_channels" + `); + await queryRunner.query(` + CREATE TABLE "channels" ( + "id" varchar PRIMARY KEY NOT NULL, + "created_at" datetime NOT NULL, + "name" varchar, + "icon" text, + "type" integer NOT NULL, + "last_message_id" varchar, + "guild_id" varchar, + "parent_id" varchar, + "owner_id" varchar, + "last_pin_timestamp" integer, + "default_auto_archive_duration" integer, + "position" integer, + "permission_overwrites" text, + "video_quality_mode" integer, + "bitrate" integer, + "user_limit" integer, + "nsfw" boolean, + "rate_limit_per_user" integer, + "topic" varchar, + "retention_policy_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "channels"( + "id", + "created_at", + "name", + "icon", + "type", + "last_message_id", + "guild_id", + "parent_id", + "owner_id", + "last_pin_timestamp", + "default_auto_archive_duration", + "position", + "permission_overwrites", + "video_quality_mode", + "bitrate", + "user_limit", + "nsfw", + "rate_limit_per_user", + "topic", + "retention_policy_id" + ) + SELECT "id", + "created_at", + "name", + "icon", + "type", + "last_message_id", + "guild_id", + "parent_id", + "owner_id", + "last_pin_timestamp", + "default_auto_archive_duration", + "position", + "permission_overwrites", + "video_quality_mode", + "bitrate", + "user_limit", + "nsfw", + "rate_limit_per_user", + "topic", + "retention_policy_id" + FROM "temporary_channels" + `); + await queryRunner.query(` + DROP TABLE "temporary_channels" + `); + await queryRunner.query(` + ALTER TABLE "voice_states" + RENAME TO "temporary_voice_states" + `); + await queryRunner.query(` + CREATE TABLE "voice_states" ( + "id" varchar PRIMARY KEY NOT NULL, + "guild_id" varchar, + "channel_id" varchar, + "user_id" varchar, + "session_id" varchar NOT NULL, + "token" varchar, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "self_deaf" boolean NOT NULL, + "self_mute" boolean NOT NULL, + "self_stream" boolean, + "self_video" boolean NOT NULL, + "suppress" boolean NOT NULL, + "request_to_speak_timestamp" datetime + ) + `); + await queryRunner.query(` + INSERT INTO "voice_states"( + "id", + "guild_id", + "channel_id", + "user_id", + "session_id", + "token", + "deaf", + "mute", + "self_deaf", + "self_mute", + "self_stream", + "self_video", + "suppress", + "request_to_speak_timestamp" + ) + SELECT "id", + "guild_id", + "channel_id", + "user_id", + "session_id", + "token", + "deaf", + "mute", + "self_deaf", + "self_mute", + "self_stream", + "self_video", + "suppress", + "request_to_speak_timestamp" + FROM "temporary_voice_states" + `); + await queryRunner.query(` + DROP TABLE "temporary_voice_states" + `); + await queryRunner.query(` + ALTER TABLE "invites" + RENAME TO "temporary_invites" + `); + await queryRunner.query(` + CREATE TABLE "invites" ( + "code" varchar PRIMARY KEY NOT NULL, + "temporary" boolean NOT NULL, + "uses" integer NOT NULL, + "max_uses" integer NOT NULL, + "max_age" integer NOT NULL, + "created_at" datetime NOT NULL, + "expires_at" datetime NOT NULL, + "guild_id" varchar, + "channel_id" varchar, + "inviter_id" varchar, + "target_user_id" varchar, + "target_user_type" integer, + "vanity_url" boolean + ) + `); + await queryRunner.query(` + INSERT INTO "invites"( + "code", + "temporary", + "uses", + "max_uses", + "max_age", + "created_at", + "expires_at", + "guild_id", + "channel_id", + "inviter_id", + "target_user_id", + "target_user_type", + "vanity_url" + ) + SELECT "code", + "temporary", + "uses", + "max_uses", + "max_age", + "created_at", + "expires_at", + "guild_id", + "channel_id", + "inviter_id", + "target_user_id", + "target_user_type", + "vanity_url" + FROM "temporary_invites" + `); + await queryRunner.query(` + DROP TABLE "temporary_invites" + `); + await queryRunner.query(` + DROP INDEX "IDX_0abf8b443321bd3cf7f81ee17a" + `); + await queryRunner.query(` + ALTER TABLE "read_states" + RENAME TO "temporary_read_states" + `); + await queryRunner.query(` + CREATE TABLE "read_states" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar NOT NULL, + "user_id" varchar NOT NULL, + "last_message_id" varchar, + "public_ack" varchar, + "notifications_cursor" varchar, + "last_pin_timestamp" datetime, + "mention_count" integer + ) + `); + await queryRunner.query(` + INSERT INTO "read_states"( + "id", + "channel_id", + "user_id", + "last_message_id", + "public_ack", + "notifications_cursor", + "last_pin_timestamp", + "mention_count" + ) + SELECT "id", + "channel_id", + "user_id", + "last_message_id", + "public_ack", + "notifications_cursor", + "last_pin_timestamp", + "mention_count" + FROM "temporary_read_states" + `); + await queryRunner.query(` + DROP TABLE "temporary_read_states" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON "read_states" ("channel_id", "user_id") + `); + await queryRunner.query(` + DROP INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" + `); + await queryRunner.query(` + DROP INDEX "IDX_05535bc695e9f7ee104616459d" + `); + await queryRunner.query(` + DROP INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" + `); + await queryRunner.query(` + ALTER TABLE "messages" + RENAME TO "temporary_messages" + `); + await queryRunner.query(` + CREATE TABLE "messages" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar, + "guild_id" varchar, + "author_id" varchar, + "member_id" varchar, + "webhook_id" varchar, + "application_id" varchar, + "content" varchar, + "timestamp" datetime NOT NULL DEFAULT (datetime('now')), + "edited_timestamp" datetime, + "tts" boolean, + "mention_everyone" boolean, + "embeds" text NOT NULL, + "reactions" text NOT NULL, + "nonce" text, + "pinned" boolean, + "type" integer NOT NULL, + "activity" text, + "flags" varchar, + "message_reference" text, + "interaction" text, + "components" text, + "message_reference_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "messages"( + "id", + "channel_id", + "guild_id", + "author_id", + "member_id", + "webhook_id", + "application_id", + "content", + "timestamp", + "edited_timestamp", + "tts", + "mention_everyone", + "embeds", + "reactions", + "nonce", + "pinned", + "type", + "activity", + "flags", + "message_reference", + "interaction", + "components", + "message_reference_id" + ) + SELECT "id", + "channel_id", + "guild_id", + "author_id", + "member_id", + "webhook_id", + "application_id", + "content", + "timestamp", + "edited_timestamp", + "tts", + "mention_everyone", + "embeds", + "reactions", + "nonce", + "pinned", + "type", + "activity", + "flags", + "message_reference", + "interaction", + "components", + "message_reference_id" + FROM "temporary_messages" + `); + await queryRunner.query(` + DROP TABLE "temporary_messages" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON "messages" ("channel_id", "id") + `); + await queryRunner.query(` + CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON "messages" ("author_id") + `); + await queryRunner.query(` + CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON "messages" ("channel_id") + `); + await queryRunner.query(` + ALTER TABLE "attachments" + RENAME TO "temporary_attachments" + `); + await queryRunner.query(` + CREATE TABLE "attachments" ( + "id" varchar PRIMARY KEY NOT NULL, + "filename" varchar NOT NULL, + "size" integer NOT NULL, + "url" varchar NOT NULL, + "proxy_url" varchar NOT NULL, + "height" integer, + "width" integer, + "content_type" varchar, + "message_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "attachments"( + "id", + "filename", + "size", + "url", + "proxy_url", + "height", + "width", + "content_type", + "message_id" + ) + SELECT "id", + "filename", + "size", + "url", + "proxy_url", + "height", + "width", + "content_type", + "message_id" + FROM "temporary_attachments" + `); + await queryRunner.query(` + DROP TABLE "temporary_attachments" + `); + await queryRunner.query(` + ALTER TABLE "stickers" + RENAME TO "temporary_stickers" + `); + await queryRunner.query(` + CREATE TABLE "stickers" ( + "id" varchar PRIMARY KEY NOT NULL, + "name" varchar NOT NULL, + "description" varchar, + "available" boolean, + "tags" varchar, + "pack_id" varchar, + "guild_id" varchar, + "user_id" varchar, + "type" integer NOT NULL, + "format_type" integer NOT NULL + ) + `); + await queryRunner.query(` + INSERT INTO "stickers"( + "id", + "name", + "description", + "available", + "tags", + "pack_id", + "guild_id", + "user_id", + "type", + "format_type" + ) + SELECT "id", + "name", + "description", + "available", + "tags", + "pack_id", + "guild_id", + "user_id", + "type", + "format_type" + FROM "temporary_stickers" + `); + await queryRunner.query(` + DROP TABLE "temporary_stickers" + `); + await queryRunner.query(` + ALTER TABLE "webhooks" + RENAME TO "temporary_webhooks" + `); + await queryRunner.query(` + CREATE TABLE "webhooks" ( + "id" varchar PRIMARY KEY NOT NULL, + "type" integer NOT NULL, + "name" varchar, + "avatar" varchar, + "token" varchar, + "guild_id" varchar, + "channel_id" varchar, + "application_id" varchar, + "user_id" varchar, + "source_guild_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "webhooks"( + "id", + "type", + "name", + "avatar", + "token", + "guild_id", + "channel_id", + "application_id", + "user_id", + "source_guild_id" + ) + SELECT "id", + "type", + "name", + "avatar", + "token", + "guild_id", + "channel_id", + "application_id", + "user_id", + "source_guild_id" + FROM "temporary_webhooks" + `); + await queryRunner.query(` + DROP TABLE "temporary_webhooks" + `); + await queryRunner.query(` + DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" + `); + await queryRunner.query(` + ALTER TABLE "members" + RENAME TO "temporary_members" + `); + await queryRunner.query(` + CREATE TABLE "members" ( + "index" integer PRIMARY KEY AUTOINCREMENT NOT NULL, + "id" varchar NOT NULL, + "guild_id" varchar NOT NULL, + "nick" varchar, + "joined_at" datetime NOT NULL, + "premium_since" bigint, + "deaf" boolean NOT NULL, + "mute" boolean NOT NULL, + "pending" boolean NOT NULL, + "settings" text NOT NULL, + "last_message_id" varchar, + "joined_by" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "members"( + "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + ) + SELECT "index", + "id", + "guild_id", + "nick", + "joined_at", + "premium_since", + "deaf", + "mute", + "pending", + "settings", + "last_message_id", + "joined_by" + FROM "temporary_members" + `); + await queryRunner.query(` + DROP TABLE "temporary_members" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON "members" ("id", "guild_id") + `); + await queryRunner.query(` + ALTER TABLE "roles" + RENAME TO "temporary_roles" + `); + await queryRunner.query(` + CREATE TABLE "roles" ( + "id" varchar PRIMARY KEY NOT NULL, + "guild_id" varchar, + "color" integer NOT NULL, + "hoist" boolean NOT NULL, + "managed" boolean NOT NULL, + "mentionable" boolean NOT NULL, + "name" varchar NOT NULL, + "permissions" varchar NOT NULL, + "position" integer NOT NULL, + "icon" varchar, + "unicode_emoji" varchar, + "tags" text + ) + `); + await queryRunner.query(` + INSERT INTO "roles"( + "id", + "guild_id", + "color", + "hoist", + "managed", + "mentionable", + "name", + "permissions", + "position", + "icon", + "unicode_emoji", + "tags" + ) + SELECT "id", + "guild_id", + "color", + "hoist", + "managed", + "mentionable", + "name", + "permissions", + "position", + "icon", + "unicode_emoji", + "tags" + FROM "temporary_roles" + `); + await queryRunner.query(` + DROP TABLE "temporary_roles" + `); + await queryRunner.query(` + ALTER TABLE "recipients" + RENAME TO "temporary_recipients" + `); + await queryRunner.query(` + CREATE TABLE "recipients" ( + "id" varchar PRIMARY KEY NOT NULL, + "channel_id" varchar NOT NULL, + "user_id" varchar NOT NULL, + "closed" boolean NOT NULL DEFAULT (0) + ) + `); + await queryRunner.query(` + INSERT INTO "recipients"("id", "channel_id", "user_id", "closed") + SELECT "id", + "channel_id", + "user_id", + "closed" + FROM "temporary_recipients" + `); + await queryRunner.query(` + DROP TABLE "temporary_recipients" + `); + await queryRunner.query(` + ALTER TABLE "bans" + RENAME TO "temporary_bans" + `); + await queryRunner.query(` + CREATE TABLE "bans" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "guild_id" varchar, + "executor_id" varchar, + "ip" varchar NOT NULL, + "reason" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "bans"( + "id", + "user_id", + "guild_id", + "executor_id", + "ip", + "reason" + ) + SELECT "id", + "user_id", + "guild_id", + "executor_id", + "ip", + "reason" + FROM "temporary_bans" + `); + await queryRunner.query(` + DROP TABLE "temporary_bans" + `); + await queryRunner.query(` + ALTER TABLE "backup_codes" + RENAME TO "temporary_backup_codes" + `); + await queryRunner.query(` + CREATE TABLE "backup_codes" ( + "id" varchar PRIMARY KEY NOT NULL, + "code" varchar NOT NULL, + "consumed" boolean NOT NULL, + "expired" boolean NOT NULL, + "user_id" varchar + ) + `); + await queryRunner.query(` + INSERT INTO "backup_codes"("id", "code", "consumed", "expired", "user_id") + SELECT "id", + "code", + "consumed", + "expired", + "user_id" + FROM "temporary_backup_codes" + `); + await queryRunner.query(` + DROP TABLE "temporary_backup_codes" + `); + await queryRunner.query(` + ALTER TABLE "connected_accounts" + RENAME TO "temporary_connected_accounts" + `); + await queryRunner.query(` + CREATE TABLE "connected_accounts" ( + "id" varchar PRIMARY KEY NOT NULL, + "user_id" varchar, + "access_token" varchar NOT NULL, + "friend_sync" boolean NOT NULL, + "name" varchar NOT NULL, + "revoked" boolean NOT NULL, + "show_activity" boolean NOT NULL, + "type" varchar NOT NULL, + "verified" boolean NOT NULL, + "visibility" integer NOT NULL + ) + `); + await queryRunner.query(` + INSERT INTO "connected_accounts"( + "id", + "user_id", + "access_token", + "friend_sync", + "name", + "revoked", + "show_activity", + "type", + "verified", + "visibility" + ) + SELECT "id", + "user_id", + "access_token", + "friend_sync", + "name", + "revoked", + "show_activity", + "type", + "verified", + "visibility" + FROM "temporary_connected_accounts" + `); + await queryRunner.query(` + DROP TABLE "temporary_connected_accounts" + `); + await queryRunner.query(` + DROP INDEX "IDX_a0b2ff0a598df0b0d055934a17" + `); + await queryRunner.query(` + ALTER TABLE "relationships" + RENAME TO "temporary_relationships" + `); + await queryRunner.query(` + CREATE TABLE "relationships" ( + "id" varchar PRIMARY KEY NOT NULL, + "from_id" varchar NOT NULL, + "to_id" varchar NOT NULL, + "nickname" varchar, + "type" integer NOT NULL + ) + `); + await queryRunner.query(` + INSERT INTO "relationships"("id", "from_id", "to_id", "nickname", "type") + SELECT "id", + "from_id", + "to_id", + "nickname", + "type" + FROM "temporary_relationships" + `); + await queryRunner.query(` + DROP TABLE "temporary_relationships" + `); + await queryRunner.query(` + CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON "relationships" ("from_id", "to_id") + `); + await queryRunner.query(` + DROP INDEX "IDX_e22a70819d07659c7a71c112a1" + `); + await queryRunner.query(` + DROP INDEX "IDX_40bb6f23e7cc133292e92829d2" + `); + await queryRunner.query(` + DROP TABLE "message_stickers" + `); + await queryRunner.query(` + DROP INDEX "IDX_bdb8c09e1464cabf62105bf4b9" + `); + await queryRunner.query(` + DROP INDEX "IDX_2a27102ecd1d81b4582a436092" + `); + await queryRunner.query(` + DROP TABLE "message_channel_mentions" + `); + await queryRunner.query(` + DROP INDEX "IDX_29d63eb1a458200851bc37d074" + `); + await queryRunner.query(` + DROP INDEX "IDX_a8242cf535337a490b0feaea0b" + `); + await queryRunner.query(` + DROP TABLE "message_role_mentions" + `); + await queryRunner.query(` + DROP INDEX "IDX_b831eb18ceebd28976239b1e2f" + `); + await queryRunner.query(` + DROP INDEX "IDX_a343387fc560ef378760681c23" + `); + await queryRunner.query(` + DROP TABLE "message_user_mentions" + `); + await queryRunner.query(` + DROP INDEX "IDX_e9080e7a7997a0170026d5139c" + `); + await queryRunner.query(` + DROP INDEX "IDX_5d7ddc8a5f9c167f548625e772" + `); + await queryRunner.query(` + DROP TABLE "member_roles" + `); + await queryRunner.query(` + DROP TABLE "notes" + `); + await queryRunner.query(` + DROP TABLE "client_release" + `); + await queryRunner.query(` + DROP TABLE "sticker_packs" + `); + await queryRunner.query(` + DROP TABLE "sessions" + `); + await queryRunner.query(` + DROP TABLE "rate_limits" + `); + await queryRunner.query(` + DROP TABLE "categories" + `); + await queryRunner.query(` + DROP TABLE "audit_logs" + `); + await queryRunner.query(` + DROP TABLE "applications" + `); + await queryRunner.query(` + DROP TABLE "teams" + `); + await queryRunner.query(` + DROP TABLE "team_members" + `); + await queryRunner.query(` + DROP TABLE "guilds" + `); + await queryRunner.query(` + DROP TABLE "templates" + `); + await queryRunner.query(` + DROP TABLE "emojis" + `); + await queryRunner.query(` + DROP TABLE "channels" + `); + await queryRunner.query(` + DROP TABLE "voice_states" + `); + await queryRunner.query(` + DROP TABLE "invites" + `); + await queryRunner.query(` + DROP INDEX "IDX_0abf8b443321bd3cf7f81ee17a" + `); + await queryRunner.query(` + DROP TABLE "read_states" + `); + await queryRunner.query(` + DROP INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" + `); + await queryRunner.query(` + DROP INDEX "IDX_05535bc695e9f7ee104616459d" + `); + await queryRunner.query(` + DROP INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" + `); + await queryRunner.query(` + DROP TABLE "messages" + `); + await queryRunner.query(` + DROP TABLE "attachments" + `); + await queryRunner.query(` + DROP TABLE "stickers" + `); + await queryRunner.query(` + DROP TABLE "webhooks" + `); + await queryRunner.query(` + DROP INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" + `); + await queryRunner.query(` + DROP TABLE "members" + `); + await queryRunner.query(` + DROP TABLE "roles" + `); + await queryRunner.query(` + DROP TABLE "recipients" + `); + await queryRunner.query(` + DROP TABLE "bans" + `); + await queryRunner.query(` + DROP TABLE "backup_codes" + `); + await queryRunner.query(` + DROP TABLE "users" + `); + await queryRunner.query(` + DROP TABLE "connected_accounts" + `); + await queryRunner.query(` + DROP INDEX "IDX_a0b2ff0a598df0b0d055934a17" + `); + await queryRunner.query(` + DROP TABLE "relationships" + `); + await queryRunner.query(` + DROP TABLE "config" + `); + } + +} diff --git a/util/src/util/Config.ts b/util/src/util/Config.ts index c358444f..97a73858 100644 --- a/util/src/util/Config.ts +++ b/util/src/util/Config.ts @@ -19,10 +19,10 @@ export const Config = { config = (config || {}).merge(DefaultConfigOptions); // try { - // const overrideConfig = JSON.parse(fs.readFileSync(overridePath, { encoding: "utf8" })); - // config = overrideConfig.merge(config); + // const overrideConfig = JSON.parse(fs.readFileSync(overridePath, { encoding: "utf8" })); + // config = overrideConfig.merge(config); // } catch (error) { - // fs.writeFileSync(overridePath, JSON.stringify(config, null, 4)); + // fs.writeFileSync(overridePath, JSON.stringify(config, null, 4)); // } return this.set(config); diff --git a/util/src/util/Database.ts b/util/src/util/Database.ts index c4693108..26ac794e 100644 --- a/util/src/util/Database.ts +++ b/util/src/util/Database.ts @@ -7,6 +7,7 @@ import { yellow, green, red } from "picocolors"; import fs from "fs"; import { exit } from "process"; import { BaseClass, BaseClassWithoutId } from "../entities"; +import { config } from "dotenv"; // UUID extension option is only supported with postgres // We want to generate all id's with Snowflakes that's why we have our own BaseEntity class @@ -14,28 +15,29 @@ import { BaseClass, BaseClassWithoutId } from "../entities"; let promise: Promise; let dataSource: DataSource; - - export async function initDatabase(): Promise { - if (dataSource) return dataSource; // prevent initalizing multiple times - - let dso = getDataSourceOptions(); - console.log(`[Database] ${yellow(`Connecting to ${dso.type} database...`)}`); - - //promise = dataSource.initialize(); - //await promise; + //if (dataSource) return dataSource; // prevent initalizing multiple times + if(dataSource.isInitialized) return dataSource; + + await dataSource.initialize(); console.log(`[Database] ${green("Connected!")}`); + await dataSource.runMigrations(); + console.log(`[Database] ${green("Up to date!")}`); - return promise; + if("DB_MIGRATE" in process.env) { + console.log("DB_MIGRATE specified, exiting!") + exit(0); + } + return dataSource; } - export function closeDatabase() { dataSource?.destroy(); } function getDataSourceOptions(): DataSourceOptions { + config(); //get connection string and check for migrations const dbConnectionString = process.env.DATABASE || path.join(process.cwd(), "database.db"); const type = dbConnectionString.includes("://") ? dbConnectionString.split(":")[0]?.replace("+srv", "") : "sqlite" as any; @@ -61,9 +63,9 @@ function getDataSourceOptions(): DataSourceOptions { migrations_exist: migrationsExist }, null, 4))}`); - //exit(1); + if(!("DB_MIGRATE" in process.env)) exit(1); } - + console.log(`[Database] ${yellow(`Configuring data source to use ${type} database...`)}`); return { type, charset: 'utf8mb4', @@ -82,9 +84,10 @@ function getDataSourceOptions(): DataSourceOptions { name: "default", migrations: synchronizeInsteadOfMigrations ? [] : [path.join(__dirname, "..", "migrations", type, "*.js")], migrationsRun: !synchronizeInsteadOfMigrations, + //migrationsRun: false, cli: { migrationsDir: `src/migrations/${type}` - } + }, } as DataSourceOptions; } @@ -97,4 +100,4 @@ function shouldIncludeEntity(name: string): boolean { ].map(x=>x.name).includes(name); } -export default dataSource = new DataSource(getDataSourceOptions()); \ No newline at end of file +export default dataSource = new DataSource(getDataSourceOptions()); -- cgit 1.5.1