diff --git a/src/database/Database.ts b/src/database/Database.ts
index 3fabc179..5f3d1e07 100644
--- a/src/database/Database.ts
+++ b/src/database/Database.ts
@@ -56,13 +56,13 @@ export const DataSourceOptions = isHeadlessProcess
type: DatabaseType,
charset: "utf8mb4",
url: process.env.DATABASE,
- entities: [path.join(__dirname, "..", "entities", "*.js")],
+ entities: [path.join(__dirname, "entities", "*.js")],
synchronize: !!process.env.DB_SYNC,
logging: !!process.env.DB_LOGGING,
bigNumberStrings: false,
supportBigNumbers: true,
name: "default",
- migrations: applyMigrations ? [path.join(__dirname, "..", "migration", DatabaseType, "*.js")] : [],
+ migrations: applyMigrations ? [path.join(__dirname, "migration", DatabaseType, "*.js")] : [],
});
// Gets the existing database connection
@@ -108,7 +108,7 @@ export async function initDatabase(): Promise<DataSource> {
if (!(await dbExists())) {
console.log("[Database] This appears to be a fresh database. Running initial DDL.");
const qr = dbConnection.createQueryRunner();
- const initialPath = path.join(__dirname, "..", "migration", DatabaseType + "-initial.js");
+ const initialPath = path.join(__dirname, "migration", DatabaseType + "-initial.js");
if (fs.existsSync(initialPath)) {
console.log("[Database] Found initial migration file, running it.");
await new (require(`../migration/${DatabaseType}-initial`).initial0)().up(qr);
diff --git a/src/database/migration/postgres-initial.ts b/src/database/migration/postgres-initial.ts
new file mode 100644
index 00000000..cbcc3ac5
--- /dev/null
+++ b/src/database/migration/postgres-initial.ts
@@ -0,0 +1,838 @@
+/*
+ Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
+ Copyright (C) 2025 Spacebar and Spacebar Contributors
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+import { MigrationInterface, QueryRunner } from "typeorm";
+export class initial0 implements MigrationInterface {
+ name = "initial0";
+ public async up(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(`CREATE TABLE public.applications (
+ id character varying NOT NULL,
+ name character varying NOT NULL,
+ icon character varying,
+ description character varying,
+ summary character varying,
+ type text,
+ hook boolean NOT NULL,
+ bot_public boolean NOT NULL,
+ bot_require_code_grant boolean NOT NULL,
+ verify_key character varying NOT NULL,
+ flags integer NOT NULL,
+ redirect_uris text,
+ rpc_application_state integer,
+ store_application_state integer,
+ verification_state integer,
+ interactions_endpoint_url character varying,
+ integration_public boolean,
+ integration_require_code_grant boolean,
+ discoverability_state integer,
+ discovery_eligibility_flags integer,
+ tags text,
+ cover_image character varying,
+ install_params text,
+ terms_of_service_url character varying,
+ privacy_policy_url character varying,
+ owner_id character varying,
+ bot_user_id character varying,
+ team_id character varying
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.backup_codes (
+ id character varying NOT NULL,
+ code character varying NOT NULL,
+ consumed boolean NOT NULL,
+ expired boolean NOT NULL,
+ user_id character varying
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.categories (
+ id integer NOT NULL,
+ name character varying,
+ localizations text NOT NULL,
+ is_primary boolean
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.channels (
+ id character varying NOT NULL,
+ created_at timestamp without time zone 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,
+ permission_overwrites text,
+ video_quality_mode integer,
+ bitrate integer,
+ user_limit integer,
+ nsfw boolean NOT NULL,
+ rate_limit_per_user integer,
+ topic character varying,
+ retention_policy_id character varying,
+ flags integer NOT NULL,
+ default_thread_rate_limit_per_user integer NOT NULL,
+ position integer NOT NULL DEFAULT 0
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.client_release (
+ id character varying NOT NULL,
+ name character varying NOT NULL,
+ pub_date timestamp without time zone NOT NULL,
+ url character varying NOT NULL,
+ platform character varying NOT NULL,
+ enabled boolean NOT NULL,
+ notes character varying
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.config (
+ key character varying NOT NULL,
+ value text
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.connected_accounts (
+ id character varying NOT NULL,
+ external_id character varying NOT NULL,
+ user_id character varying,
+ friend_sync boolean NOT NULL,
+ name character varying NOT NULL,
+ revoked boolean NOT NULL,
+ show_activity integer NOT NULL,
+ type character varying NOT NULL,
+ verified boolean NOT NULL,
+ visibility integer NOT NULL,
+ integrations text NOT NULL,
+ metadata text,
+ metadata_visibility integer NOT NULL,
+ two_way_link boolean NOT NULL,
+ token_data text
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.connection_config (
+ key character varying NOT NULL,
+ value text
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.embed_cache (
+ id character varying NOT NULL,
+ url character varying NOT NULL,
+ embed text NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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 character varying,
+ icon character varying,
+ large boolean NOT NULL,
+ 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 NOT NULL,
+ 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 NOT NULL,
+ verification_level integer,
+ welcome_screen text NOT NULL,
+ widget_channel_id character varying,
+ widget_enabled boolean NOT NULL,
+ nsfw_level integer,
+ nsfw boolean NOT NULL,
+ parent character varying,
+ premium_progress_bar_enabled boolean
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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 without time zone NOT NULL,
+ expires_at timestamp without time zone,
+ guild_id character varying,
+ channel_id character varying,
+ inviter_id character varying,
+ target_user_id character varying,
+ target_user_type integer,
+ vanity_url boolean,
+ flags integer NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.member_roles (
+ index integer NOT NULL,
+ role_id character varying NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.members (
+ index integer NOT NULL,
+ id character varying NOT NULL,
+ guild_id character varying NOT NULL,
+ nick character varying,
+ joined_at timestamp without time zone 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,
+ avatar character varying,
+ banner character varying,
+ bio character varying NOT NULL,
+ theme_colors text,
+ pronouns character varying,
+ communication_disabled_until timestamp without time zone
+ );`);
+
+ await queryRunner.query(`CREATE SEQUENCE public.members_index_seq
+ AS integer
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;`);
+
+ await queryRunner.query(`ALTER SEQUENCE public.members_index_seq OWNED BY public.members.index;`);
+ await queryRunner.query(`CREATE TABLE public.message_channel_mentions (
+ "messagesId" character varying NOT NULL,
+ "channelsId" character varying NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.message_role_mentions (
+ "messagesId" character varying NOT NULL,
+ "rolesId" character varying NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.message_stickers (
+ "messagesId" character varying NOT NULL,
+ "stickersId" character varying NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.message_user_mentions (
+ "messagesId" character varying NOT NULL,
+ "usersId" character varying NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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 without time zone DEFAULT now() NOT NULL,
+ edited_timestamp timestamp without time zone,
+ tts boolean,
+ mention_everyone boolean,
+ embeds text NOT NULL,
+ reactions text NOT NULL,
+ nonce text,
+ type integer NOT NULL,
+ activity text,
+ message_reference text,
+ interaction text,
+ components text,
+ message_reference_id character varying,
+ pinned boolean,
+ flags integer
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.migrations (
+ id integer NOT NULL,
+ "timestamp" bigint NOT NULL,
+ name character varying NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE SEQUENCE public.migrations_id_seq
+ AS integer
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;`);
+
+ await queryRunner.query(`ALTER SEQUENCE public.migrations_id_seq OWNED BY public.migrations.id;`);
+ await queryRunner.query(`CREATE TABLE public.notes (
+ id character varying NOT NULL,
+ content character varying NOT NULL,
+ owner_id character varying,
+ target_id character varying
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.rate_limits (
+ id character varying NOT NULL,
+ executor_id character varying NOT NULL,
+ hits integer NOT NULL,
+ blocked boolean NOT NULL,
+ expires_at timestamp without time zone NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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 without time zone,
+ mention_count integer
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.recipients (
+ id character varying NOT NULL,
+ channel_id character varying NOT NULL,
+ user_id character varying NOT NULL,
+ closed boolean DEFAULT false NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.roles (
+ id character varying NOT NULL,
+ guild_id character varying NOT NULL,
+ 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,
+ flags integer DEFAULT 0 NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.security_settings (
+ id character varying NOT NULL,
+ guild_id character varying,
+ channel_id character varying,
+ encryption_permission_mask integer NOT NULL,
+ allowed_algorithms text NOT NULL,
+ current_algorithm character varying NOT NULL,
+ used_since_message character varying
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.team_members (
+ id character varying NOT NULL,
+ membership_state integer NOT NULL,
+ permissions text NOT NULL,
+ team_id character varying,
+ user_id character varying
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.teams (
+ id character varying NOT NULL,
+ icon character varying,
+ name character varying NOT NULL,
+ owner_user_id character varying
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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 without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ source_guild_id character varying,
+ serialized_source_guild text NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.user_settings (
+ index integer NOT NULL,
+ afk_timeout integer,
+ allow_accessibility_detection boolean,
+ animate_emoji boolean,
+ animate_stickers integer,
+ contact_sync_enabled boolean,
+ convert_emoticons boolean,
+ custom_status text,
+ default_guilds_restricted boolean,
+ detect_platform_accounts boolean,
+ developer_mode boolean,
+ disable_games_tab boolean,
+ enable_tts_command boolean,
+ explicit_content_filter integer,
+ friend_source_flags text,
+ gateway_connected boolean,
+ gif_auto_play boolean,
+ guild_folders text,
+ guild_positions text,
+ inline_attachment_media boolean,
+ inline_embed_media boolean,
+ locale character varying,
+ message_display_compact boolean,
+ native_phone_integration_enabled boolean,
+ render_embeds boolean,
+ render_reactions boolean,
+ restricted_guilds text,
+ show_current_game boolean,
+ status character varying,
+ stream_notifications_enabled boolean,
+ theme character varying,
+ timezone_offset integer
+ );`);
+
+ await queryRunner.query(`CREATE SEQUENCE public.user_settings_index_seq
+ AS integer
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;`);
+
+ await queryRunner.query(`ALTER SEQUENCE public.user_settings_index_seq OWNED BY public.user_settings.index;`);
+ await queryRunner.query(`CREATE TABLE public.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,
+ theme_colors text,
+ pronouns 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 without time zone NOT NULL,
+ premium_since timestamp without time zone,
+ verified boolean NOT NULL,
+ disabled boolean NOT NULL,
+ deleted boolean NOT NULL,
+ email character varying,
+ flags bigint NOT NULL,
+ public_flags bigint NOT NULL,
+ purchased_flags bigint NOT NULL,
+ premium_usage_flags integer NOT NULL,
+ rights bigint NOT NULL,
+ data text NOT NULL,
+ fingerprints text NOT NULL,
+ extended_settings text NOT NULL,
+ "settingsIndex" integer
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.valid_registration_tokens (
+ token character varying NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ expires_at timestamp without time zone NOT NULL
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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 without time zone
+ );`);
+
+ await queryRunner.query(`CREATE TABLE public.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
+ );`);
+
+ await queryRunner.query(`ALTER TABLE ONLY public.members ALTER COLUMN index SET DEFAULT nextval('public.members_index_seq'::regclass);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.migrations ALTER COLUMN id SET DEFAULT nextval('public.migrations_id_seq'::regclass);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.user_settings ALTER COLUMN index SET DEFAULT nextval('public.user_settings_index_seq'::regclass);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.embed_cache ADD CONSTRAINT "PK_0abb7581d4efc5a8b1361389c5e" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "PK_18325f38ae6de43878487eff986" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT "PK_1bb179d048bbc581caa3b013439" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.categories ADD CONSTRAINT "PK_24dbc6126a28ff948da33e97d3b" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.config ADD CONSTRAINT "PK_26489c99ddbb4c91631ef5cc791" PRIMARY KEY (key);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.sessions ADD CONSTRAINT "PK_3238ef96f18b355b671619111bc" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.invites ADD CONSTRAINT "PK_33fd8a248db1cd832baa8aa25bf" PRIMARY KEY (code);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.backup_codes ADD CONSTRAINT "PK_34ab957382dbc57e8fb53f1638f" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.rate_limits ADD CONSTRAINT "PK_3b4449f1f5fc167d921ee619f65" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.security_settings ADD CONSTRAINT "PK_4aec436cf81177ae97a1bcec3c7" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.client_release ADD CONSTRAINT "PK_4c4ea258342d2d6ba1be0a71a43" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.templates ADD CONSTRAINT "PK_515948649ce0bbbe391de702ae5" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.attachments ADD CONSTRAINT "PK_5e1f050bcff31e3084a1d662412" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.connected_accounts ADD CONSTRAINT "PK_70416f1da0be645bb31da01c774" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.message_role_mentions ADD CONSTRAINT "PK_74dba92cc300452a6e14b83ed44" PRIMARY KEY ("messagesId", "rolesId");`);
+ await queryRunner.query(`ALTER TABLE ONLY public.teams ADD CONSTRAINT "PK_7e5523774a38b08a6236d322403" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.message_channel_mentions ADD CONSTRAINT "PK_85cb45351497cd9d06a79ced65e" PRIMARY KEY ("messagesId", "channelsId");`);
+ await queryRunner.query(`ALTER TABLE ONLY public.migrations ADD CONSTRAINT "PK_8c82d7f526340ab734260ea46be" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.applications ADD CONSTRAINT "PK_938c0a27255637bde919591888f" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.member_roles ADD CONSTRAINT "PK_951c1d72a0fd1da8760b4a1fd66" PRIMARY KEY (index, role_id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.emojis ADD CONSTRAINT "PK_9adb96a675f555c6169bad7ba62" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.message_user_mentions ADD CONSTRAINT "PK_9b9b6e245ad47a48dbd7605d4fb" PRIMARY KEY ("messagesId", "usersId");`);
+ await queryRunner.query(`ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "PK_9e8795cfc899ab7bdaa831e8527" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.sticker_packs ADD CONSTRAINT "PK_a27381efea0f876f5d3233af655" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.users ADD CONSTRAINT "PK_a3ffb1c0c8416b9fc6f907b7433" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.bans ADD CONSTRAINT "PK_a4d6f261bffa4615c62d756566a" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.voice_states ADD CONSTRAINT "PK_ada09a50c134fad1369b510e3ce" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.notes ADD CONSTRAINT "PK_af6206538ea96c4e77e9f400c3d" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.members ADD CONSTRAINT "PK_b4a6b8c2478e5df990909c6cf6a" PRIMARY KEY (index);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.relationships ADD CONSTRAINT "PK_ba20e2f5cf487408e08e4dcecaf" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.connection_config ADD CONSTRAINT "PK_bc0554f736ad71dde346549488a" PRIMARY KEY (key);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.channels ADD CONSTRAINT "PK_bc603823f3f741359c2339389f9" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.roles ADD CONSTRAINT "PK_c1433d71a4838793a49dcad46ab" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.team_members ADD CONSTRAINT "PK_ca3eae89dcf20c9fd95bf7460aa" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.recipients ADD CONSTRAINT "PK_de8fc5a9c364568f294798fe1e9" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.valid_registration_tokens ADD CONSTRAINT "PK_e0f5c8e3fcefe3134a092c50485" PRIMARY KEY (token);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.stickers ADD CONSTRAINT "PK_e1dafa4063a5532645cc2810374" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.read_states ADD CONSTRAINT "PK_e6956a804978f01b713b1ed58e2" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "PK_e7e7f2a51bd6d96a9ac2aa560f9" PRIMARY KEY (id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.user_settings ADD CONSTRAINT "PK_e81f8bb92802737337d35c00981" PRIMARY KEY (index);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.message_stickers ADD CONSTRAINT "PK_ed820c4093d0b8cd1d2bcf66087" PRIMARY KEY ("messagesId", "stickersId");`);
+ await queryRunner.query(`ALTER TABLE ONLY public.users ADD CONSTRAINT "REL_0c14beb78d8c5ccba66072adbc" UNIQUE ("settingsIndex");`);
+ await queryRunner.query(`ALTER TABLE ONLY public.applications ADD CONSTRAINT "REL_2ce5a55796fe4c2f77ece57a64" UNIQUE (bot_user_id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.notes ADD CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE (owner_id, target_id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.templates ADD CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE (code);`);
+ await queryRunner.query(`CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON public.messages USING btree (author_id);`);
+ await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON public.read_states USING btree (channel_id, user_id);`);
+ await queryRunner.query(`CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON public.message_role_mentions USING btree ("rolesId");`);
+ await queryRunner.query(`CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON public.message_channel_mentions USING btree ("messagesId");`);
+ await queryRunner.query(`CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON public.messages USING btree (channel_id, id);`);
+ await queryRunner.query(`CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON public.message_stickers USING btree ("messagesId");`);
+ await queryRunner.query(`CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON public.member_roles USING btree (index);`);
+ await queryRunner.query(`CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON public.messages USING btree (channel_id);`);
+ await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON public.relationships USING btree (from_id, to_id);`);
+ await queryRunner.query(`CREATE INDEX "IDX_a343387fc560ef378760681c23" ON public.message_user_mentions USING btree ("messagesId");`);
+ await queryRunner.query(`CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON public.message_role_mentions USING btree ("messagesId");`);
+ await queryRunner.query(`CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON public.message_user_mentions USING btree ("usersId");`);
+ await queryRunner.query(`CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON public.members USING btree (id, guild_id);`);
+ await queryRunner.query(`CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON public.message_channel_mentions USING btree ("channelsId");`);
+ await queryRunner.query(`CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON public.message_stickers USING btree ("stickersId");`);
+ await queryRunner.query(`CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON public.member_roles USING btree (role_id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.voice_states ADD CONSTRAINT "FK_03779ef216d4b0358470d9cb748" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_05535bc695e9f7ee104616459d3" FOREIGN KEY (author_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.bans ADD CONSTRAINT "FK_07ad88c86d1f290d46748410d58" FOREIGN KEY (executor_id) REFERENCES public.users(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.sessions ADD CONSTRAINT "FK_085d540d9f418cfbdc7bd55bb19" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.users ADD CONSTRAINT "FK_0c14beb78d8c5ccba66072adbc7" FOREIGN KEY ("settingsIndex") REFERENCES public.user_settings(index);`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_0d523f6f997c86e052c49b1455f" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.invites ADD CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY (target_user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.teams ADD CONSTRAINT "FK_13f00abf7cb6096c43ecaf8c108" FOREIGN KEY (owner_user_id) REFERENCES public.users(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.invites ADD CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY (inviter_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.members ADD CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.stickers ADD CONSTRAINT "FK_193d551d852aca5347ef5c9f205" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.read_states ADD CONSTRAINT "FK_195f92e4dd1254a4e348c043763" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.notes ADD CONSTRAINT "FK_23e08e5b4481711d573e1abecdc" FOREIGN KEY (target_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.members ADD CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY (id) REFERENCES public.users(id) ON DELETE CASCADE;`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.message_role_mentions ADD CONSTRAINT "FK_29d63eb1a458200851bc37d074b" FOREIGN KEY ("rolesId") REFERENCES public.roles(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.message_channel_mentions ADD CONSTRAINT "FK_2a27102ecd1d81b4582a4360921" FOREIGN KEY ("messagesId") REFERENCES public.messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.applications ADD CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY (bot_user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.recipients ADD CONSTRAINT "FK_2f18ee1ba667f233ae86c0ea60e" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.channels ADD CONSTRAINT "FK_3274522d14af40540b1a883fc80" FOREIGN KEY (parent_id) REFERENCES public.channels(id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.channels ADD CONSTRAINT "FK_3873ed438575cce703ecff4fc7b" FOREIGN KEY (owner_id) REFERENCES public.users(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_3a285f4f49c40e0706d3018bc9f" FOREIGN KEY (source_guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT "FK_3cd01cd3ae7aab010310d96ac8e" FOREIGN KEY (target_id) REFERENCES public.users(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.invites ADD CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.message_stickers ADD CONSTRAINT "FK_40bb6f23e7cc133292e92829d28" FOREIGN KEY ("messagesId") REFERENCES public.messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.read_states ADD CONSTRAINT "FK_40da2fca4e0eaf7a23b5bfc5d34" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.templates ADD CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" FOREIGN KEY (source_guild_id) REFERENCES public.guilds(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.sticker_packs ADD CONSTRAINT "FK_448fafba4355ee1c837bbc865f1" FOREIGN KEY ("coverStickerId") REFERENCES public.stickers(id);`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_487a7af59d189f744fe394368fc" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.emojis ADD CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.bans ADD CONSTRAINT "FK_5999e8e449f80a236ff72023559" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_5d3ec1cb962de6488637fd779d6" FOREIGN KEY (application_id) REFERENCES public.applications(id);`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.member_roles ADD CONSTRAINT "FK_5d7ddc8a5f9c167f548625e772e" FOREIGN KEY (index) REFERENCES public.members(index) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.voice_states ADD CONSTRAINT "FK_5fe1d5f931a67e85039c640001b" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.recipients ADD CONSTRAINT "FK_6157e8b6ba4e6e3089616481fe2" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_61a92bb65b302a76d9c1fcd3174" FOREIGN KEY (message_reference_id) REFERENCES public.messages(id);`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.attachments ADD CONSTRAINT "FK_623e10eec51ada466c5038979e3" FOREIGN KEY (message_id) REFERENCES public.messages(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.invites ADD CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.backup_codes ADD CONSTRAINT "FK_70066ea80d2f4b871beda32633b" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_86b9109b155eb70c0a2ca3b4b6d" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_8d450b016dc8bec35f36729e4b0" FOREIGN KEY (public_updates_channel_id) REFERENCES public.channels(id);`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.stickers ADD CONSTRAINT "FK_8f4ee73f2bb2325ff980502e158" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_95828668aa333460582e0ca6396" FOREIGN KEY (rules_channel_id) REFERENCES public.channels(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.relationships ADD CONSTRAINT "FK_9af4194bab1250b1c584ae4f1d7" FOREIGN KEY (from_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.relationships ADD CONSTRAINT "FK_9c7f6b98a9843b76dce1b0c878b" FOREIGN KEY (to_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_9d1d665379eefde7876a17afa99" FOREIGN KEY (widget_channel_id) REFERENCES public.channels(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.bans ADD CONSTRAINT "FK_9d3ab7dd180ebdd245cdb66ecad" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.voice_states ADD CONSTRAINT "FK_9f8d389866b40b6657edd026dd4" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.message_user_mentions ADD CONSTRAINT "FK_a343387fc560ef378760681c236" FOREIGN KEY ("messagesId") REFERENCES public.messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.applications ADD CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY (team_id) REFERENCES public.teams(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.message_role_mentions ADD CONSTRAINT "FK_a8242cf535337a490b0feaea0b4" FOREIGN KEY ("messagesId") REFERENCES public.messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_b0525304f2262b7014245351c76" FOREIGN KEY (member_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_b193588441b085352a4c0109423" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.message_user_mentions ADD CONSTRAINT "FK_b831eb18ceebd28976239b1e2f8" FOREIGN KEY ("usersId") REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT "FK_bd2726fd31b35443f2245b93ba0" FOREIGN KEY (user_id) REFERENCES public.users(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.message_channel_mentions ADD CONSTRAINT "FK_bdb8c09e1464cabf62105bf4b9d" FOREIGN KEY ("channelsId") REFERENCES public.channels(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.channels ADD CONSTRAINT "FK_c253dafe5f3a03ec00cd8fb4581" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.team_members ADD CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.roles ADD CONSTRAINT "FK_c32c1ab1c4dc7dcb0278c4b1b8b" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_c3e5305461931763b56aa905f1c" FOREIGN KEY (application_id) REFERENCES public.applications(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_cfc3d3ad260f8121c95b31a1fce" FOREIGN KEY (system_channel_id) REFERENCES public.channels(id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.templates ADD CONSTRAINT "FK_d7374b7f8f5fbfdececa4fb62e1" FOREIGN KEY (creator_id) REFERENCES public.users(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_df528cf77e82f8032230e7e37d8" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.message_stickers ADD CONSTRAINT "FK_e22a70819d07659c7a71c112a1f" FOREIGN KEY ("stickersId") REFERENCES public.stickers(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_e2a2f873a64a5cf62526de42325" FOREIGN KEY (template_id) REFERENCES public.templates(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.applications ADD CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY (owner_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.stickers ADD CONSTRAINT "FK_e7cfa5cefa6661b3fb8fda8ce69" FOREIGN KEY (pack_id) REFERENCES public.sticker_packs(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.member_roles ADD CONSTRAINT "FK_e9080e7a7997a0170026d5139c1" FOREIGN KEY (role_id) REFERENCES public.roles(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.connected_accounts ADD CONSTRAINT "FK_f47244225a6a1eac04a3463dd90" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_f591a66b8019d87b0fe6c12dad6" FOREIGN KEY (afk_channel_id) REFERENCES public.channels(id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_f83c04bcf1df4e5c0e7a52ed348" FOREIGN KEY (webhook_id) REFERENCES public.webhooks(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.notes ADD CONSTRAINT "FK_f9e103f8ae67cb1787063597925" FOREIGN KEY (owner_id) REFERENCES public.users(id) ON DELETE CASCADE;`,
+ );
+ await queryRunner.query(`ALTER TABLE ONLY public.emojis ADD CONSTRAINT "FK_fa7ddd5f9a214e28ce596548421" FOREIGN KEY (user_id) REFERENCES public.users(id);`);
+ await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_fc1a451727e3643ca572a3bb394" FOREIGN KEY (owner_id) REFERENCES public.users(id);`);
+ await queryRunner.query(
+ `ALTER TABLE ONLY public.team_members ADD CONSTRAINT "FK_fdad7d5768277e60c40e01cdcea" FOREIGN KEY (team_id) REFERENCES public.teams(id) ON DELETE CASCADE;`,
+ );
+ }
+
+ public async down(_: QueryRunner): Promise<void> {
+ throw new Error("Can't revert this: just throw away your database lol");
+ }
+}
diff --git a/src/util/migration/postgres/1673609867556-templateDeleteCascade.ts b/src/database/migration/postgres/1673609867556-templateDeleteCascade.ts
index dbeef998..dbeef998 100644
--- a/src/util/migration/postgres/1673609867556-templateDeleteCascade.ts
+++ b/src/database/migration/postgres/1673609867556-templateDeleteCascade.ts
diff --git a/src/util/migration/postgres/1675044825710-webauthn.ts b/src/database/migration/postgres/1675044825710-webauthn.ts
index 5c052ccf..5c052ccf 100644
--- a/src/util/migration/postgres/1675044825710-webauthn.ts
+++ b/src/database/migration/postgres/1675044825710-webauthn.ts
diff --git a/src/util/migration/postgres/1696420827239-guildChannelOrdering.ts b/src/database/migration/postgres/1696420827239-guildChannelOrdering.ts
index 2323ae6a..2323ae6a 100644
--- a/src/util/migration/postgres/1696420827239-guildChannelOrdering.ts
+++ b/src/database/migration/postgres/1696420827239-guildChannelOrdering.ts
diff --git a/src/util/migration/postgres/1713116476900-messageFlagsNotNull.ts b/src/database/migration/postgres/1713116476900-messageFlagsNotNull.ts
index 57948bc3..57948bc3 100644
--- a/src/util/migration/postgres/1713116476900-messageFlagsNotNull.ts
+++ b/src/database/migration/postgres/1713116476900-messageFlagsNotNull.ts
diff --git a/src/util/migration/postgres/1719776735000-newUserSettings.ts b/src/database/migration/postgres/1719776735000-newUserSettings.ts
index cd73037c..cd73037c 100644
--- a/src/util/migration/postgres/1719776735000-newUserSettings.ts
+++ b/src/database/migration/postgres/1719776735000-newUserSettings.ts
diff --git a/src/util/migration/postgres/1720157926878-messagePollObject.ts b/src/database/migration/postgres/1720157926878-messagePollObject.ts
index bd21c6e5..bd21c6e5 100644
--- a/src/util/migration/postgres/1720157926878-messagePollObject.ts
+++ b/src/database/migration/postgres/1720157926878-messagePollObject.ts
diff --git a/src/util/migration/postgres/1720628601997-badges.ts b/src/database/migration/postgres/1720628601997-badges.ts
index 7fe1e19f..7fe1e19f 100644
--- a/src/util/migration/postgres/1720628601997-badges.ts
+++ b/src/database/migration/postgres/1720628601997-badges.ts
diff --git a/src/util/migration/postgres/1721298824927-webhookMessageProperties.ts b/src/database/migration/postgres/1721298824927-webhookMessageProperties.ts
index 3576e4ac..3576e4ac 100644
--- a/src/util/migration/postgres/1721298824927-webhookMessageProperties.ts
+++ b/src/database/migration/postgres/1721298824927-webhookMessageProperties.ts
diff --git a/src/util/migration/postgres/1723347738541-client_status.ts b/src/database/migration/postgres/1723347738541-client_status.ts
index 941e6d76..941e6d76 100644
--- a/src/util/migration/postgres/1723347738541-client_status.ts
+++ b/src/database/migration/postgres/1723347738541-client_status.ts
diff --git a/src/util/migration/postgres/1723577874393-discoveryCategoryIcon.ts b/src/database/migration/postgres/1723577874393-discoveryCategoryIcon.ts
index 8dfde3cb..8dfde3cb 100644
--- a/src/util/migration/postgres/1723577874393-discoveryCategoryIcon.ts
+++ b/src/database/migration/postgres/1723577874393-discoveryCategoryIcon.ts
diff --git a/src/util/migration/postgres/1723644478176-webhookSourceChannel.ts b/src/database/migration/postgres/1723644478176-webhookSourceChannel.ts
index 00fe413f..00fe413f 100644
--- a/src/util/migration/postgres/1723644478176-webhookSourceChannel.ts
+++ b/src/database/migration/postgres/1723644478176-webhookSourceChannel.ts
diff --git a/src/util/migration/postgres/1724477620293-teamMemberRole.ts b/src/database/migration/postgres/1724477620293-teamMemberRole.ts
index 043a1ddc..043a1ddc 100644
--- a/src/util/migration/postgres/1724477620293-teamMemberRole.ts
+++ b/src/database/migration/postgres/1724477620293-teamMemberRole.ts
diff --git a/src/util/migration/postgres/1725090962922-applicationProperties.ts b/src/database/migration/postgres/1725090962922-applicationProperties.ts
index 03fb172f..03fb172f 100644
--- a/src/util/migration/postgres/1725090962922-applicationProperties.ts
+++ b/src/database/migration/postgres/1725090962922-applicationProperties.ts
diff --git a/src/util/migration/postgres/1745625724865-voice.ts b/src/database/migration/postgres/1745625724865-voice.ts
index 0e110dda..0e110dda 100644
--- a/src/util/migration/postgres/1745625724865-voice.ts
+++ b/src/database/migration/postgres/1745625724865-voice.ts
diff --git a/src/util/migration/postgres/1752157979333-UserSettingsProtos.ts b/src/database/migration/postgres/1752157979333-UserSettingsProtos.ts
index 7a243818..7a243818 100644
--- a/src/util/migration/postgres/1752157979333-UserSettingsProtos.ts
+++ b/src/database/migration/postgres/1752157979333-UserSettingsProtos.ts
diff --git a/src/util/migration/postgres/1752321571508-RoleColors.ts b/src/database/migration/postgres/1752321571508-RoleColors.ts
index 0a1cbc9b..0a1cbc9b 100644
--- a/src/util/migration/postgres/1752321571508-RoleColors.ts
+++ b/src/database/migration/postgres/1752321571508-RoleColors.ts
diff --git a/src/util/migration/postgres/1752383879533-message_pinned_at.ts b/src/database/migration/postgres/1752383879533-message_pinned_at.ts
index f80b0a0b..f80b0a0b 100644
--- a/src/util/migration/postgres/1752383879533-message_pinned_at.ts
+++ b/src/database/migration/postgres/1752383879533-message_pinned_at.ts
diff --git a/src/util/migration/postgres/1753639700904-Automod.ts b/src/database/migration/postgres/1753639700904-Automod.ts
index 083edd3a..083edd3a 100644
--- a/src/util/migration/postgres/1753639700904-Automod.ts
+++ b/src/database/migration/postgres/1753639700904-Automod.ts
diff --git a/src/util/migration/postgres/1758654246197-CloudAttachments.ts b/src/database/migration/postgres/1758654246197-CloudAttachments.ts
index 86894f1d..86894f1d 100644
--- a/src/util/migration/postgres/1758654246197-CloudAttachments.ts
+++ b/src/database/migration/postgres/1758654246197-CloudAttachments.ts
diff --git a/src/util/migration/postgres/1758654621365-CloudAttachmentsFixIdRefs.ts b/src/database/migration/postgres/1758654621365-CloudAttachmentsFixIdRefs.ts
index dcd1b77c..dcd1b77c 100644
--- a/src/util/migration/postgres/1758654621365-CloudAttachmentsFixIdRefs.ts
+++ b/src/database/migration/postgres/1758654621365-CloudAttachmentsFixIdRefs.ts
diff --git a/src/util/migration/postgres/1760622755598-ApplicationCommands.ts b/src/database/migration/postgres/1760622755598-ApplicationCommands.ts
index 6d4aebc5..6d4aebc5 100644
--- a/src/util/migration/postgres/1760622755598-ApplicationCommands.ts
+++ b/src/database/migration/postgres/1760622755598-ApplicationCommands.ts
diff --git a/src/util/migration/postgres/1760622755599-ReconcileMigrationAttempts.ts b/src/database/migration/postgres/1760622755599-ReconcileMigrationAttempts.ts
index 7a05cfa5..7a05cfa5 100644
--- a/src/util/migration/postgres/1760622755599-ReconcileMigrationAttempts.ts
+++ b/src/database/migration/postgres/1760622755599-ReconcileMigrationAttempts.ts
diff --git a/src/util/migration/postgres/1760694225225-message_interaction_metadata.ts b/src/database/migration/postgres/1760694225225-message_interaction_metadata.ts
index 2b4afed7..2b4afed7 100644
--- a/src/util/migration/postgres/1760694225225-message_interaction_metadata.ts
+++ b/src/database/migration/postgres/1760694225225-message_interaction_metadata.ts
diff --git a/src/util/migration/postgres/1760961911873-message_reference_fix.ts b/src/database/migration/postgres/1760961911873-message_reference_fix.ts
index 6a295981..6a295981 100644
--- a/src/util/migration/postgres/1760961911873-message_reference_fix.ts
+++ b/src/database/migration/postgres/1760961911873-message_reference_fix.ts
diff --git a/src/util/migration/postgres/1761113394664-delete-bot-users-without-an-application.ts b/src/database/migration/postgres/1761113394664-delete-bot-users-without-an-application.ts
index d8e13fdc..d8e13fdc 100644
--- a/src/util/migration/postgres/1761113394664-delete-bot-users-without-an-application.ts
+++ b/src/database/migration/postgres/1761113394664-delete-bot-users-without-an-application.ts
diff --git a/src/util/migration/postgres/1761209437070-application-commands-options-default.ts b/src/database/migration/postgres/1761209437070-application-commands-options-default.ts
index 7eba1ee2..7eba1ee2 100644
--- a/src/util/migration/postgres/1761209437070-application-commands-options-default.ts
+++ b/src/database/migration/postgres/1761209437070-application-commands-options-default.ts
diff --git a/src/util/migration/postgres/1762611552514-fix-gif-stickers-format_type.ts b/src/database/migration/postgres/1762611552514-fix-gif-stickers-format_type.ts
index c459cb5b..c459cb5b 100644
--- a/src/util/migration/postgres/1762611552514-fix-gif-stickers-format_type.ts
+++ b/src/database/migration/postgres/1762611552514-fix-gif-stickers-format_type.ts
diff --git a/src/util/migration/postgres/1763630755675-default-activities-to-empty-array.ts b/src/database/migration/postgres/1763630755675-default-activities-to-empty-array.ts
index ecb9d1ec..ecb9d1ec 100644
--- a/src/util/migration/postgres/1763630755675-default-activities-to-empty-array.ts
+++ b/src/database/migration/postgres/1763630755675-default-activities-to-empty-array.ts
diff --git a/src/util/migration/postgres/1765143034407-DontIpBanBanner.ts b/src/database/migration/postgres/1765143034407-DontIpBanBanner.ts
index 249c6478..249c6478 100644
--- a/src/util/migration/postgres/1765143034407-DontIpBanBanner.ts
+++ b/src/database/migration/postgres/1765143034407-DontIpBanBanner.ts
diff --git a/src/util/migration/postgres/1765185286988-message-snapshots.ts b/src/database/migration/postgres/1765185286988-message-snapshots.ts
index ca0c33ee..ca0c33ee 100644
--- a/src/util/migration/postgres/1765185286988-message-snapshots.ts
+++ b/src/database/migration/postgres/1765185286988-message-snapshots.ts
diff --git a/src/util/migration/postgres/1765578570423-InstanceBanTable.ts b/src/database/migration/postgres/1765578570423-InstanceBanTable.ts
index 205e150d..205e150d 100644
--- a/src/util/migration/postgres/1765578570423-InstanceBanTable.ts
+++ b/src/database/migration/postgres/1765578570423-InstanceBanTable.ts
diff --git a/src/util/migration/postgres/1765587835846-InstanceBanAllowlist.ts b/src/database/migration/postgres/1765587835846-InstanceBanAllowlist.ts
index 9eefea48..9eefea48 100644
--- a/src/util/migration/postgres/1765587835846-InstanceBanAllowlist.ts
+++ b/src/database/migration/postgres/1765587835846-InstanceBanAllowlist.ts
diff --git a/src/util/migration/postgres/1765665440000-DropDefaultIPDataKey.ts b/src/database/migration/postgres/1765665440000-DropDefaultIPDataKey.ts
index 2e58ff7d..2e58ff7d 100644
--- a/src/util/migration/postgres/1765665440000-DropDefaultIPDataKey.ts
+++ b/src/database/migration/postgres/1765665440000-DropDefaultIPDataKey.ts
diff --git a/src/util/migration/postgres/1765863159930-ExtendedSessionInfo.ts b/src/database/migration/postgres/1765863159930-ExtendedSessionInfo.ts
index d6271cfe..d6271cfe 100644
--- a/src/util/migration/postgres/1765863159930-ExtendedSessionInfo.ts
+++ b/src/database/migration/postgres/1765863159930-ExtendedSessionInfo.ts
diff --git a/src/util/migration/postgres/1765932247127-UpdateSessionInfo.ts b/src/database/migration/postgres/1765932247127-UpdateSessionInfo.ts
index fb8a7e56..fb8a7e56 100644
--- a/src/util/migration/postgres/1765932247127-UpdateSessionInfo.ts
+++ b/src/database/migration/postgres/1765932247127-UpdateSessionInfo.ts
diff --git a/src/util/migration/postgres/1765967660704-DropExtendedSettings.ts b/src/database/migration/postgres/1765967660704-DropExtendedSettings.ts
index 749058a8..749058a8 100644
--- a/src/util/migration/postgres/1765967660704-DropExtendedSettings.ts
+++ b/src/database/migration/postgres/1765967660704-DropExtendedSettings.ts
diff --git a/src/util/migration/postgres/1769636200774-Threads.ts b/src/database/migration/postgres/1769636200774-Threads.ts
index 1a8f8fdd..1a8f8fdd 100644
--- a/src/util/migration/postgres/1769636200774-Threads.ts
+++ b/src/database/migration/postgres/1769636200774-Threads.ts
diff --git a/src/util/migration/postgres/1769653303971-ThreadMembers.ts b/src/database/migration/postgres/1769653303971-ThreadMembers.ts
index 45f231b7..45f231b7 100644
--- a/src/util/migration/postgres/1769653303971-ThreadMembers.ts
+++ b/src/database/migration/postgres/1769653303971-ThreadMembers.ts
diff --git a/src/util/migration/postgres/1769653303972-ThreadMembersIdx.ts b/src/database/migration/postgres/1769653303972-ThreadMembersIdx.ts
index 40dc952a..40dc952a 100644
--- a/src/util/migration/postgres/1769653303972-ThreadMembersIdx.ts
+++ b/src/database/migration/postgres/1769653303972-ThreadMembersIdx.ts
diff --git a/src/util/migration/postgres/1770062009127-UserProfileCustomisation.ts b/src/database/migration/postgres/1770062009127-UserProfileCustomisation.ts
index c631d0d8..c631d0d8 100644
--- a/src/util/migration/postgres/1770062009127-UserProfileCustomisation.ts
+++ b/src/database/migration/postgres/1770062009127-UserProfileCustomisation.ts
diff --git a/src/util/migration/postgres/1770079838835-MemberProfileCustomisation.ts b/src/database/migration/postgres/1770079838835-MemberProfileCustomisation.ts
index 5796dec1..5796dec1 100644
--- a/src/util/migration/postgres/1770079838835-MemberProfileCustomisation.ts
+++ b/src/database/migration/postgres/1770079838835-MemberProfileCustomisation.ts
diff --git a/src/util/migration/postgres/1770308886650-forumTags.ts b/src/database/migration/postgres/1770308886650-forumTags.ts
index fd28561c..fd28561c 100644
--- a/src/util/migration/postgres/1770308886650-forumTags.ts
+++ b/src/database/migration/postgres/1770308886650-forumTags.ts
diff --git a/src/util/migration/postgres/1770310028511-nullableTags.ts b/src/database/migration/postgres/1770310028511-nullableTags.ts
index ce4b2609..ce4b2609 100644
--- a/src/util/migration/postgres/1770310028511-nullableTags.ts
+++ b/src/database/migration/postgres/1770310028511-nullableTags.ts
diff --git a/src/util/migration/postgres/1770748070808-GuildDiscoveryHoisting.ts b/src/database/migration/postgres/1770748070808-GuildDiscoveryHoisting.ts
index 5d0d84a9..5d0d84a9 100644
--- a/src/util/migration/postgres/1770748070808-GuildDiscoveryHoisting.ts
+++ b/src/database/migration/postgres/1770748070808-GuildDiscoveryHoisting.ts
diff --git a/src/util/migration/postgres/1771271159006-set-role-managed-default.ts b/src/database/migration/postgres/1771271159006-set-role-managed-default.ts
index fad55f23..fad55f23 100644
--- a/src/util/migration/postgres/1771271159006-set-role-managed-default.ts
+++ b/src/database/migration/postgres/1771271159006-set-role-managed-default.ts
diff --git a/src/util/migration/postgres/1771825341528-MoreReadStateFields.ts b/src/database/migration/postgres/1771825341528-MoreReadStateFields.ts
index 13ddd6a4..13ddd6a4 100644
--- a/src/util/migration/postgres/1771825341528-MoreReadStateFields.ts
+++ b/src/database/migration/postgres/1771825341528-MoreReadStateFields.ts
diff --git a/src/util/migration/postgres/1771997061671-LastPinTimestampAsDate.ts b/src/database/migration/postgres/1771997061671-LastPinTimestampAsDate.ts
index a5aaf474..a5aaf474 100644
--- a/src/util/migration/postgres/1771997061671-LastPinTimestampAsDate.ts
+++ b/src/database/migration/postgres/1771997061671-LastPinTimestampAsDate.ts
diff --git a/src/util/migration/postgres/1772404321400-MemberFlags.ts b/src/database/migration/postgres/1772404321400-MemberFlags.ts
index 011c3e4e..011c3e4e 100644
--- a/src/util/migration/postgres/1772404321400-MemberFlags.ts
+++ b/src/database/migration/postgres/1772404321400-MemberFlags.ts
diff --git a/src/util/migration/postgres/1772404321401-ChannelStatus.ts b/src/database/migration/postgres/1772404321401-ChannelStatus.ts
index cc669a63..cc669a63 100644
--- a/src/util/migration/postgres/1772404321401-ChannelStatus.ts
+++ b/src/database/migration/postgres/1772404321401-ChannelStatus.ts
diff --git a/src/util/migration/postgres/1772404321402-EmbedCacheCreatedAt.ts b/src/database/migration/postgres/1772404321402-EmbedCacheCreatedAt.ts
index bf845ff7..bf845ff7 100644
--- a/src/util/migration/postgres/1772404321402-EmbedCacheCreatedAt.ts
+++ b/src/database/migration/postgres/1772404321402-EmbedCacheCreatedAt.ts
diff --git a/src/util/migration/postgres/1772404321403-EmbedCacheMultiEmbed.ts b/src/database/migration/postgres/1772404321403-EmbedCacheMultiEmbed.ts
index 55e80fdc..55e80fdc 100644
--- a/src/util/migration/postgres/1772404321403-EmbedCacheMultiEmbed.ts
+++ b/src/database/migration/postgres/1772404321403-EmbedCacheMultiEmbed.ts
diff --git a/src/util/migration/postgres/1772404321404-InstanceBansIndexes.ts b/src/database/migration/postgres/1772404321404-InstanceBansIndexes.ts
index 05b1e33b..05b1e33b 100644
--- a/src/util/migration/postgres/1772404321404-InstanceBansIndexes.ts
+++ b/src/database/migration/postgres/1772404321404-InstanceBansIndexes.ts
diff --git a/src/util/migration/postgres/177617864199-ReconcileMigrationsAgain.ts b/src/database/migration/postgres/177617864199-ReconcileMigrationsAgain.ts
index e8a68f13..e8a68f13 100644
--- a/src/util/migration/postgres/177617864199-ReconcileMigrationsAgain.ts
+++ b/src/database/migration/postgres/177617864199-ReconcileMigrationsAgain.ts
diff --git a/src/util/migration/postgres/1776178642000-Int8PrimaryKeys.ts b/src/database/migration/postgres/1776178642000-Int8PrimaryKeys.ts
index b7dc5d4a..b7dc5d4a 100644
--- a/src/util/migration/postgres/1776178642000-Int8PrimaryKeys.ts
+++ b/src/database/migration/postgres/1776178642000-Int8PrimaryKeys.ts
diff --git a/src/util/migration/postgres/1776178642001-Int8PrimaryKeysApplications.ts b/src/database/migration/postgres/1776178642001-Int8PrimaryKeysApplications.ts
index accc8dc2..accc8dc2 100644
--- a/src/util/migration/postgres/1776178642001-Int8PrimaryKeysApplications.ts
+++ b/src/database/migration/postgres/1776178642001-Int8PrimaryKeysApplications.ts
diff --git a/src/util/migration/postgres/1776178642002-Int8PrimaryKeysChannels.ts b/src/database/migration/postgres/1776178642002-Int8PrimaryKeysChannels.ts
index bf8e64ba..bf8e64ba 100644
--- a/src/util/migration/postgres/1776178642002-Int8PrimaryKeysChannels.ts
+++ b/src/database/migration/postgres/1776178642002-Int8PrimaryKeysChannels.ts
diff --git a/src/util/migration/postgres/1776178642003-Int8PrimaryKeysGuilds.ts b/src/database/migration/postgres/1776178642003-Int8PrimaryKeysGuilds.ts
index 1abab99f..1abab99f 100644
--- a/src/util/migration/postgres/1776178642003-Int8PrimaryKeysGuilds.ts
+++ b/src/database/migration/postgres/1776178642003-Int8PrimaryKeysGuilds.ts
diff --git a/src/util/migration/postgres/1776178642004-Int8PrimaryKeysInstanceBans.ts b/src/database/migration/postgres/1776178642004-Int8PrimaryKeysInstanceBans.ts
index 22d6da2a..22d6da2a 100644
--- a/src/util/migration/postgres/1776178642004-Int8PrimaryKeysInstanceBans.ts
+++ b/src/database/migration/postgres/1776178642004-Int8PrimaryKeysInstanceBans.ts
diff --git a/src/util/migration/postgres/1776178642005-Int8PrimaryKeysMessages.ts b/src/database/migration/postgres/1776178642005-Int8PrimaryKeysMessages.ts
index fa7116b8..fa7116b8 100644
--- a/src/util/migration/postgres/1776178642005-Int8PrimaryKeysMessages.ts
+++ b/src/database/migration/postgres/1776178642005-Int8PrimaryKeysMessages.ts
diff --git a/src/util/migration/postgres/1776178642006-Int8PrimaryKeysRoles.ts b/src/database/migration/postgres/1776178642006-Int8PrimaryKeysRoles.ts
index 1df9949e..1df9949e 100644
--- a/src/util/migration/postgres/1776178642006-Int8PrimaryKeysRoles.ts
+++ b/src/database/migration/postgres/1776178642006-Int8PrimaryKeysRoles.ts
diff --git a/src/util/migration/postgres/1776178642007-Int8PrimaryKeysStickerPacks.ts b/src/database/migration/postgres/1776178642007-Int8PrimaryKeysStickerPacks.ts
index fbde54f0..fbde54f0 100644
--- a/src/util/migration/postgres/1776178642007-Int8PrimaryKeysStickerPacks.ts
+++ b/src/database/migration/postgres/1776178642007-Int8PrimaryKeysStickerPacks.ts
diff --git a/src/util/migration/postgres/1776178642008-Int8PrimaryKeysStickers.ts b/src/database/migration/postgres/1776178642008-Int8PrimaryKeysStickers.ts
index 4f52a570..4f52a570 100644
--- a/src/util/migration/postgres/1776178642008-Int8PrimaryKeysStickers.ts
+++ b/src/database/migration/postgres/1776178642008-Int8PrimaryKeysStickers.ts
diff --git a/src/util/migration/postgres/1776178642009-Int8PrimaryKeysStreams.ts b/src/database/migration/postgres/1776178642009-Int8PrimaryKeysStreams.ts
index ef066816..ef066816 100644
--- a/src/util/migration/postgres/1776178642009-Int8PrimaryKeysStreams.ts
+++ b/src/database/migration/postgres/1776178642009-Int8PrimaryKeysStreams.ts
diff --git a/src/util/migration/postgres/1776178642010-Int8PrimaryKeysTeams.ts b/src/database/migration/postgres/1776178642010-Int8PrimaryKeysTeams.ts
index 6e5dac4d..6e5dac4d 100644
--- a/src/util/migration/postgres/1776178642010-Int8PrimaryKeysTeams.ts
+++ b/src/database/migration/postgres/1776178642010-Int8PrimaryKeysTeams.ts
diff --git a/src/util/migration/postgres/1776178642011-Int8PrimaryKeysTemplates.ts b/src/database/migration/postgres/1776178642011-Int8PrimaryKeysTemplates.ts
index b2e1b56f..b2e1b56f 100644
--- a/src/util/migration/postgres/1776178642011-Int8PrimaryKeysTemplates.ts
+++ b/src/database/migration/postgres/1776178642011-Int8PrimaryKeysTemplates.ts
diff --git a/src/util/migration/postgres/1776178642012-Int8PrimaryKeysUsers.ts b/src/database/migration/postgres/1776178642012-Int8PrimaryKeysUsers.ts
index d30b10dc..d30b10dc 100644
--- a/src/util/migration/postgres/1776178642012-Int8PrimaryKeysUsers.ts
+++ b/src/database/migration/postgres/1776178642012-Int8PrimaryKeysUsers.ts
diff --git a/src/util/migration/postgres/1776178642013-Int8PrimaryKeysWebhooks.ts b/src/database/migration/postgres/1776178642013-Int8PrimaryKeysWebhooks.ts
index a5fdfbdf..a5fdfbdf 100644
--- a/src/util/migration/postgres/1776178642013-Int8PrimaryKeysWebhooks.ts
+++ b/src/database/migration/postgres/1776178642013-Int8PrimaryKeysWebhooks.ts
diff --git a/src/util/migration/postgres/1776204936000-JsonbForJsonColumns.ts b/src/database/migration/postgres/1776204936000-JsonbForJsonColumns.ts
index 03ac9a72..03ac9a72 100644
--- a/src/util/migration/postgres/1776204936000-JsonbForJsonColumns.ts
+++ b/src/database/migration/postgres/1776204936000-JsonbForJsonColumns.ts
diff --git a/src/util/migration/postgres/1776270346000-DontStoreAttachmentUrls.ts b/src/database/migration/postgres/1776270346000-DontStoreAttachmentUrls.ts
index 674a3e54..674a3e54 100644
--- a/src/util/migration/postgres/1776270346000-DontStoreAttachmentUrls.ts
+++ b/src/database/migration/postgres/1776270346000-DontStoreAttachmentUrls.ts
diff --git a/src/util/migration/postgres/1776283923000-Int8Fixes.ts b/src/database/migration/postgres/1776283923000-Int8Fixes.ts
index 0d482d84..0d482d84 100644
--- a/src/util/migration/postgres/1776283923000-Int8Fixes.ts
+++ b/src/database/migration/postgres/1776283923000-Int8Fixes.ts
diff --git a/src/util/migration/postgres/1776450647000-GuildChannelOrderingAsArray.ts b/src/database/migration/postgres/1776450647000-GuildChannelOrderingAsArray.ts
index e75c3e89..e75c3e89 100644
--- a/src/util/migration/postgres/1776450647000-GuildChannelOrderingAsArray.ts
+++ b/src/database/migration/postgres/1776450647000-GuildChannelOrderingAsArray.ts
diff --git a/src/util/migration/postgres/1776450647001-AllSimpleArraysToPgArrays.ts b/src/database/migration/postgres/1776450647001-AllSimpleArraysToPgArrays.ts
index 44d2c591..44d2c591 100644
--- a/src/util/migration/postgres/1776450647001-AllSimpleArraysToPgArrays.ts
+++ b/src/database/migration/postgres/1776450647001-AllSimpleArraysToPgArrays.ts
diff --git a/src/util/connections/ConnectionConfig.ts b/src/util/connections/ConnectionConfig.ts
index 338b97be..87ba9b3c 100644
--- a/src/util/connections/ConnectionConfig.ts
+++ b/src/util/connections/ConnectionConfig.ts
@@ -17,7 +17,7 @@
*/
/* eslint-disable @typescript-eslint/no-explicit-any */
-import { ConnectionConfigEntity } from "../../database/entities";
+import { ConnectionConfigEntity } from "@spacebar/database";
import { OrmUtils } from "../imports";
let config: any;
diff --git a/src/util/index.ts b/src/util/index.ts
index 2b739838..a8f74ddc 100644
--- a/src/util/index.ts
+++ b/src/util/index.ts
@@ -22,7 +22,6 @@ import "reflect-metadata";
export * from "./util/index";
export * from "./interfaces/index";
-
export * from "./dtos/index";
export * from "./imports";
export * from "./config";
diff --git a/src/util/migration/postgres-initial.ts b/src/util/migration/postgres-initial.ts
deleted file mode 100644
index b158ba2a..00000000
--- a/src/util/migration/postgres-initial.ts
+++ /dev/null
@@ -1,726 +0,0 @@
-/*
- Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
- Copyright (C) 2025 Spacebar and Spacebar Contributors
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published
- by the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-*/
-
-import { MigrationInterface, QueryRunner } from "typeorm";
-export class initial0 implements MigrationInterface {
- name = "initial0";
- public async up(queryRunner: QueryRunner): Promise<void> {
- await queryRunner.query(`CREATE TABLE public.applications (
- id character varying NOT NULL,
- name character varying NOT NULL,
- icon character varying,
- description character varying,
- summary character varying,
- type text,
- hook boolean NOT NULL,
- bot_public boolean NOT NULL,
- bot_require_code_grant boolean NOT NULL,
- verify_key character varying NOT NULL,
- flags integer NOT NULL,
- redirect_uris text,
- rpc_application_state integer,
- store_application_state integer,
- verification_state integer,
- interactions_endpoint_url character varying,
- integration_public boolean,
- integration_require_code_grant boolean,
- discoverability_state integer,
- discovery_eligibility_flags integer,
- tags text,
- cover_image character varying,
- install_params text,
- terms_of_service_url character varying,
- privacy_policy_url character varying,
- owner_id character varying,
- bot_user_id character varying,
- team_id character varying
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`CREATE TABLE public.backup_codes (
- id character varying NOT NULL,
- code character varying NOT NULL,
- consumed boolean NOT NULL,
- expired boolean NOT NULL,
- user_id character varying
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`CREATE TABLE public.categories (
- id integer NOT NULL,
- name character varying,
- localizations text NOT NULL,
- is_primary boolean
- );`);
-
- await queryRunner.query(`CREATE TABLE public.channels (
- id character varying NOT NULL,
- created_at timestamp without time zone 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,
- permission_overwrites text,
- video_quality_mode integer,
- bitrate integer,
- user_limit integer,
- nsfw boolean NOT NULL,
- rate_limit_per_user integer,
- topic character varying,
- retention_policy_id character varying,
- flags integer NOT NULL,
- default_thread_rate_limit_per_user integer NOT NULL,
- position integer NOT NULL DEFAULT 0
- );`);
-
- await queryRunner.query(`CREATE TABLE public.client_release (
- id character varying NOT NULL,
- name character varying NOT NULL,
- pub_date timestamp without time zone NOT NULL,
- url character varying NOT NULL,
- platform character varying NOT NULL,
- enabled boolean NOT NULL,
- notes character varying
- );`);
-
- await queryRunner.query(`CREATE TABLE public.config (
- key character varying NOT NULL,
- value text
- );`);
-
- await queryRunner.query(`CREATE TABLE public.connected_accounts (
- id character varying NOT NULL,
- external_id character varying NOT NULL,
- user_id character varying,
- friend_sync boolean NOT NULL,
- name character varying NOT NULL,
- revoked boolean NOT NULL,
- show_activity integer NOT NULL,
- type character varying NOT NULL,
- verified boolean NOT NULL,
- visibility integer NOT NULL,
- integrations text NOT NULL,
- metadata text,
- metadata_visibility integer NOT NULL,
- two_way_link boolean NOT NULL,
- token_data text
- );`);
-
- await queryRunner.query(`CREATE TABLE public.connection_config (
- key character varying NOT NULL,
- value text
- );`);
-
- await queryRunner.query(`CREATE TABLE public.embed_cache (
- id character varying NOT NULL,
- url character varying NOT NULL,
- embed text NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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 character varying,
- icon character varying,
- large boolean NOT NULL,
- 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 NOT NULL,
- 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 NOT NULL,
- verification_level integer,
- welcome_screen text NOT NULL,
- widget_channel_id character varying,
- widget_enabled boolean NOT NULL,
- nsfw_level integer,
- nsfw boolean NOT NULL,
- parent character varying,
- premium_progress_bar_enabled boolean
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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 without time zone NOT NULL,
- expires_at timestamp without time zone,
- guild_id character varying,
- channel_id character varying,
- inviter_id character varying,
- target_user_id character varying,
- target_user_type integer,
- vanity_url boolean,
- flags integer NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.member_roles (
- index integer NOT NULL,
- role_id character varying NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.members (
- index integer NOT NULL,
- id character varying NOT NULL,
- guild_id character varying NOT NULL,
- nick character varying,
- joined_at timestamp without time zone 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,
- avatar character varying,
- banner character varying,
- bio character varying NOT NULL,
- theme_colors text,
- pronouns character varying,
- communication_disabled_until timestamp without time zone
- );`);
-
- await queryRunner.query(`CREATE SEQUENCE public.members_index_seq
- AS integer
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;`);
-
- await queryRunner.query(`ALTER SEQUENCE public.members_index_seq OWNED BY public.members.index;`);
- await queryRunner.query(`CREATE TABLE public.message_channel_mentions (
- "messagesId" character varying NOT NULL,
- "channelsId" character varying NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.message_role_mentions (
- "messagesId" character varying NOT NULL,
- "rolesId" character varying NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.message_stickers (
- "messagesId" character varying NOT NULL,
- "stickersId" character varying NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.message_user_mentions (
- "messagesId" character varying NOT NULL,
- "usersId" character varying NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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 without time zone DEFAULT now() NOT NULL,
- edited_timestamp timestamp without time zone,
- tts boolean,
- mention_everyone boolean,
- embeds text NOT NULL,
- reactions text NOT NULL,
- nonce text,
- type integer NOT NULL,
- activity text,
- message_reference text,
- interaction text,
- components text,
- message_reference_id character varying,
- pinned boolean,
- flags integer
- );`);
-
- await queryRunner.query(`CREATE TABLE public.migrations (
- id integer NOT NULL,
- "timestamp" bigint NOT NULL,
- name character varying NOT NULL
- );`);
-
- await queryRunner.query(`CREATE SEQUENCE public.migrations_id_seq
- AS integer
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;`);
-
- await queryRunner.query(`ALTER SEQUENCE public.migrations_id_seq OWNED BY public.migrations.id;`);
- await queryRunner.query(`CREATE TABLE public.notes (
- id character varying NOT NULL,
- content character varying NOT NULL,
- owner_id character varying,
- target_id character varying
- );`);
-
- await queryRunner.query(`CREATE TABLE public.rate_limits (
- id character varying NOT NULL,
- executor_id character varying NOT NULL,
- hits integer NOT NULL,
- blocked boolean NOT NULL,
- expires_at timestamp without time zone NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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 without time zone,
- mention_count integer
- );`);
-
- await queryRunner.query(`CREATE TABLE public.recipients (
- id character varying NOT NULL,
- channel_id character varying NOT NULL,
- user_id character varying NOT NULL,
- closed boolean DEFAULT false NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`CREATE TABLE public.roles (
- id character varying NOT NULL,
- guild_id character varying NOT NULL,
- 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,
- flags integer DEFAULT 0 NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.security_settings (
- id character varying NOT NULL,
- guild_id character varying,
- channel_id character varying,
- encryption_permission_mask integer NOT NULL,
- allowed_algorithms text NOT NULL,
- current_algorithm character varying NOT NULL,
- used_since_message character varying
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`CREATE TABLE public.team_members (
- id character varying NOT NULL,
- membership_state integer NOT NULL,
- permissions text NOT NULL,
- team_id character varying,
- user_id character varying
- );`);
-
- await queryRunner.query(`CREATE TABLE public.teams (
- id character varying NOT NULL,
- icon character varying,
- name character varying NOT NULL,
- owner_user_id character varying
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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 without time zone NOT NULL,
- updated_at timestamp without time zone NOT NULL,
- source_guild_id character varying,
- serialized_source_guild text NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.user_settings (
- index integer NOT NULL,
- afk_timeout integer,
- allow_accessibility_detection boolean,
- animate_emoji boolean,
- animate_stickers integer,
- contact_sync_enabled boolean,
- convert_emoticons boolean,
- custom_status text,
- default_guilds_restricted boolean,
- detect_platform_accounts boolean,
- developer_mode boolean,
- disable_games_tab boolean,
- enable_tts_command boolean,
- explicit_content_filter integer,
- friend_source_flags text,
- gateway_connected boolean,
- gif_auto_play boolean,
- guild_folders text,
- guild_positions text,
- inline_attachment_media boolean,
- inline_embed_media boolean,
- locale character varying,
- message_display_compact boolean,
- native_phone_integration_enabled boolean,
- render_embeds boolean,
- render_reactions boolean,
- restricted_guilds text,
- show_current_game boolean,
- status character varying,
- stream_notifications_enabled boolean,
- theme character varying,
- timezone_offset integer
- );`);
-
- await queryRunner.query(`CREATE SEQUENCE public.user_settings_index_seq
- AS integer
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;`
- );
-
- await queryRunner.query(`ALTER SEQUENCE public.user_settings_index_seq OWNED BY public.user_settings.index;`);
- await queryRunner.query(`CREATE TABLE public.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,
- theme_colors text,
- pronouns 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 without time zone NOT NULL,
- premium_since timestamp without time zone,
- verified boolean NOT NULL,
- disabled boolean NOT NULL,
- deleted boolean NOT NULL,
- email character varying,
- flags bigint NOT NULL,
- public_flags bigint NOT NULL,
- purchased_flags bigint NOT NULL,
- premium_usage_flags integer NOT NULL,
- rights bigint NOT NULL,
- data text NOT NULL,
- fingerprints text NOT NULL,
- extended_settings text NOT NULL,
- "settingsIndex" integer
- );`);
-
- await queryRunner.query(`CREATE TABLE public.valid_registration_tokens (
- token character varying NOT NULL,
- created_at timestamp without time zone NOT NULL,
- expires_at timestamp without time zone NOT NULL
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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 without time zone
- );`);
-
- await queryRunner.query(`CREATE TABLE public.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
- );`);
-
- await queryRunner.query(`ALTER TABLE ONLY public.members ALTER COLUMN index SET DEFAULT nextval('public.members_index_seq'::regclass);`);
- await queryRunner.query(`ALTER TABLE ONLY public.migrations ALTER COLUMN id SET DEFAULT nextval('public.migrations_id_seq'::regclass);`);
- await queryRunner.query(`ALTER TABLE ONLY public.user_settings ALTER COLUMN index SET DEFAULT nextval('public.user_settings_index_seq'::regclass);`);
- await queryRunner.query(`ALTER TABLE ONLY public.embed_cache ADD CONSTRAINT "PK_0abb7581d4efc5a8b1361389c5e" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "PK_18325f38ae6de43878487eff986" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT "PK_1bb179d048bbc581caa3b013439" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.categories ADD CONSTRAINT "PK_24dbc6126a28ff948da33e97d3b" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.config ADD CONSTRAINT "PK_26489c99ddbb4c91631ef5cc791" PRIMARY KEY (key);`);
- await queryRunner.query(`ALTER TABLE ONLY public.sessions ADD CONSTRAINT "PK_3238ef96f18b355b671619111bc" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.invites ADD CONSTRAINT "PK_33fd8a248db1cd832baa8aa25bf" PRIMARY KEY (code);`);
- await queryRunner.query(`ALTER TABLE ONLY public.backup_codes ADD CONSTRAINT "PK_34ab957382dbc57e8fb53f1638f" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.rate_limits ADD CONSTRAINT "PK_3b4449f1f5fc167d921ee619f65" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.security_settings ADD CONSTRAINT "PK_4aec436cf81177ae97a1bcec3c7" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.client_release ADD CONSTRAINT "PK_4c4ea258342d2d6ba1be0a71a43" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.templates ADD CONSTRAINT "PK_515948649ce0bbbe391de702ae5" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.attachments ADD CONSTRAINT "PK_5e1f050bcff31e3084a1d662412" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.connected_accounts ADD CONSTRAINT "PK_70416f1da0be645bb31da01c774" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_role_mentions ADD CONSTRAINT "PK_74dba92cc300452a6e14b83ed44" PRIMARY KEY ("messagesId", "rolesId");`);
- await queryRunner.query(`ALTER TABLE ONLY public.teams ADD CONSTRAINT "PK_7e5523774a38b08a6236d322403" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_channel_mentions ADD CONSTRAINT "PK_85cb45351497cd9d06a79ced65e" PRIMARY KEY ("messagesId", "channelsId");`);
- await queryRunner.query(`ALTER TABLE ONLY public.migrations ADD CONSTRAINT "PK_8c82d7f526340ab734260ea46be" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.applications ADD CONSTRAINT "PK_938c0a27255637bde919591888f" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.member_roles ADD CONSTRAINT "PK_951c1d72a0fd1da8760b4a1fd66" PRIMARY KEY (index, role_id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.emojis ADD CONSTRAINT "PK_9adb96a675f555c6169bad7ba62" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_user_mentions ADD CONSTRAINT "PK_9b9b6e245ad47a48dbd7605d4fb" PRIMARY KEY ("messagesId", "usersId");`);
- await queryRunner.query(`ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "PK_9e8795cfc899ab7bdaa831e8527" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.sticker_packs ADD CONSTRAINT "PK_a27381efea0f876f5d3233af655" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.users ADD CONSTRAINT "PK_a3ffb1c0c8416b9fc6f907b7433" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.bans ADD CONSTRAINT "PK_a4d6f261bffa4615c62d756566a" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.voice_states ADD CONSTRAINT "PK_ada09a50c134fad1369b510e3ce" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.notes ADD CONSTRAINT "PK_af6206538ea96c4e77e9f400c3d" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.members ADD CONSTRAINT "PK_b4a6b8c2478e5df990909c6cf6a" PRIMARY KEY (index);`);
- await queryRunner.query(`ALTER TABLE ONLY public.relationships ADD CONSTRAINT "PK_ba20e2f5cf487408e08e4dcecaf" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.connection_config ADD CONSTRAINT "PK_bc0554f736ad71dde346549488a" PRIMARY KEY (key);`);
- await queryRunner.query(`ALTER TABLE ONLY public.channels ADD CONSTRAINT "PK_bc603823f3f741359c2339389f9" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.roles ADD CONSTRAINT "PK_c1433d71a4838793a49dcad46ab" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.team_members ADD CONSTRAINT "PK_ca3eae89dcf20c9fd95bf7460aa" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.recipients ADD CONSTRAINT "PK_de8fc5a9c364568f294798fe1e9" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.valid_registration_tokens ADD CONSTRAINT "PK_e0f5c8e3fcefe3134a092c50485" PRIMARY KEY (token);`);
- await queryRunner.query(`ALTER TABLE ONLY public.stickers ADD CONSTRAINT "PK_e1dafa4063a5532645cc2810374" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.read_states ADD CONSTRAINT "PK_e6956a804978f01b713b1ed58e2" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "PK_e7e7f2a51bd6d96a9ac2aa560f9" PRIMARY KEY (id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.user_settings ADD CONSTRAINT "PK_e81f8bb92802737337d35c00981" PRIMARY KEY (index);`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_stickers ADD CONSTRAINT "PK_ed820c4093d0b8cd1d2bcf66087" PRIMARY KEY ("messagesId", "stickersId");`);
- await queryRunner.query(`ALTER TABLE ONLY public.users ADD CONSTRAINT "REL_0c14beb78d8c5ccba66072adbc" UNIQUE ("settingsIndex");`);
- await queryRunner.query(`ALTER TABLE ONLY public.applications ADD CONSTRAINT "REL_2ce5a55796fe4c2f77ece57a64" UNIQUE (bot_user_id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.notes ADD CONSTRAINT "UQ_74e6689b9568cc965b8bfc9150b" UNIQUE (owner_id, target_id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.templates ADD CONSTRAINT "UQ_be38737bf339baf63b1daeffb55" UNIQUE (code);`);
- await queryRunner.query(`CREATE INDEX "IDX_05535bc695e9f7ee104616459d" ON public.messages USING btree (author_id);`);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0abf8b443321bd3cf7f81ee17a" ON public.read_states USING btree (channel_id, user_id);`);
- await queryRunner.query(`CREATE INDEX "IDX_29d63eb1a458200851bc37d074" ON public.message_role_mentions USING btree ("rolesId");`);
- await queryRunner.query(`CREATE INDEX "IDX_2a27102ecd1d81b4582a436092" ON public.message_channel_mentions USING btree ("messagesId");`);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_3ed7a60fb7dbe04e1ba9332a8b" ON public.messages USING btree (channel_id, id);`);
- await queryRunner.query(`CREATE INDEX "IDX_40bb6f23e7cc133292e92829d2" ON public.message_stickers USING btree ("messagesId");`);
- await queryRunner.query(`CREATE INDEX "IDX_5d7ddc8a5f9c167f548625e772" ON public.member_roles USING btree (index);`);
- await queryRunner.query(`CREATE INDEX "IDX_86b9109b155eb70c0a2ca3b4b6" ON public.messages USING btree (channel_id);`);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a0b2ff0a598df0b0d055934a17" ON public.relationships USING btree (from_id, to_id);`);
- await queryRunner.query(`CREATE INDEX "IDX_a343387fc560ef378760681c23" ON public.message_user_mentions USING btree ("messagesId");`);
- await queryRunner.query(`CREATE INDEX "IDX_a8242cf535337a490b0feaea0b" ON public.message_role_mentions USING btree ("messagesId");`);
- await queryRunner.query(`CREATE INDEX "IDX_b831eb18ceebd28976239b1e2f" ON public.message_user_mentions USING btree ("usersId");`);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_bb2bf9386ac443afbbbf9f12d3" ON public.members USING btree (id, guild_id);`);
- await queryRunner.query(`CREATE INDEX "IDX_bdb8c09e1464cabf62105bf4b9" ON public.message_channel_mentions USING btree ("channelsId");`);
- await queryRunner.query(`CREATE INDEX "IDX_e22a70819d07659c7a71c112a1" ON public.message_stickers USING btree ("stickersId");`);
- await queryRunner.query(`CREATE INDEX "IDX_e9080e7a7997a0170026d5139c" ON public.member_roles USING btree (role_id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.voice_states ADD CONSTRAINT "FK_03779ef216d4b0358470d9cb748" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_05535bc695e9f7ee104616459d3" FOREIGN KEY (author_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.bans ADD CONSTRAINT "FK_07ad88c86d1f290d46748410d58" FOREIGN KEY (executor_id) REFERENCES public.users(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.sessions ADD CONSTRAINT "FK_085d540d9f418cfbdc7bd55bb19" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.users ADD CONSTRAINT "FK_0c14beb78d8c5ccba66072adbc7" FOREIGN KEY ("settingsIndex") REFERENCES public.user_settings(index);`);
- await queryRunner.query(`ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_0d523f6f997c86e052c49b1455f" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.invites ADD CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY (target_user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.teams ADD CONSTRAINT "FK_13f00abf7cb6096c43ecaf8c108" FOREIGN KEY (owner_user_id) REFERENCES public.users(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.invites ADD CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY (inviter_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.members ADD CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.stickers ADD CONSTRAINT "FK_193d551d852aca5347ef5c9f205" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.read_states ADD CONSTRAINT "FK_195f92e4dd1254a4e348c043763" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.notes ADD CONSTRAINT "FK_23e08e5b4481711d573e1abecdc" FOREIGN KEY (target_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.members ADD CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY (id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_role_mentions ADD CONSTRAINT "FK_29d63eb1a458200851bc37d074b" FOREIGN KEY ("rolesId") REFERENCES public.roles(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_channel_mentions ADD CONSTRAINT "FK_2a27102ecd1d81b4582a4360921" FOREIGN KEY ("messagesId") REFERENCES public.messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.applications ADD CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY (bot_user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.recipients ADD CONSTRAINT "FK_2f18ee1ba667f233ae86c0ea60e" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.channels ADD CONSTRAINT "FK_3274522d14af40540b1a883fc80" FOREIGN KEY (parent_id) REFERENCES public.channels(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.channels ADD CONSTRAINT "FK_3873ed438575cce703ecff4fc7b" FOREIGN KEY (owner_id) REFERENCES public.users(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_3a285f4f49c40e0706d3018bc9f" FOREIGN KEY (source_guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT "FK_3cd01cd3ae7aab010310d96ac8e" FOREIGN KEY (target_id) REFERENCES public.users(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.invites ADD CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_stickers ADD CONSTRAINT "FK_40bb6f23e7cc133292e92829d28" FOREIGN KEY ("messagesId") REFERENCES public.messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.read_states ADD CONSTRAINT "FK_40da2fca4e0eaf7a23b5bfc5d34" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.templates ADD CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" FOREIGN KEY (source_guild_id) REFERENCES public.guilds(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.sticker_packs ADD CONSTRAINT "FK_448fafba4355ee1c837bbc865f1" FOREIGN KEY ("coverStickerId") REFERENCES public.stickers(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_487a7af59d189f744fe394368fc" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.emojis ADD CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.bans ADD CONSTRAINT "FK_5999e8e449f80a236ff72023559" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_5d3ec1cb962de6488637fd779d6" FOREIGN KEY (application_id) REFERENCES public.applications(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.member_roles ADD CONSTRAINT "FK_5d7ddc8a5f9c167f548625e772e" FOREIGN KEY (index) REFERENCES public.members(index) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.voice_states ADD CONSTRAINT "FK_5fe1d5f931a67e85039c640001b" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.recipients ADD CONSTRAINT "FK_6157e8b6ba4e6e3089616481fe2" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_61a92bb65b302a76d9c1fcd3174" FOREIGN KEY (message_reference_id) REFERENCES public.messages(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.attachments ADD CONSTRAINT "FK_623e10eec51ada466c5038979e3" FOREIGN KEY (message_id) REFERENCES public.messages(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.invites ADD CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.backup_codes ADD CONSTRAINT "FK_70066ea80d2f4b871beda32633b" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_86b9109b155eb70c0a2ca3b4b6d" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_8d450b016dc8bec35f36729e4b0" FOREIGN KEY (public_updates_channel_id) REFERENCES public.channels(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.stickers ADD CONSTRAINT "FK_8f4ee73f2bb2325ff980502e158" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_95828668aa333460582e0ca6396" FOREIGN KEY (rules_channel_id) REFERENCES public.channels(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.relationships ADD CONSTRAINT "FK_9af4194bab1250b1c584ae4f1d7" FOREIGN KEY (from_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.relationships ADD CONSTRAINT "FK_9c7f6b98a9843b76dce1b0c878b" FOREIGN KEY (to_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_9d1d665379eefde7876a17afa99" FOREIGN KEY (widget_channel_id) REFERENCES public.channels(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.bans ADD CONSTRAINT "FK_9d3ab7dd180ebdd245cdb66ecad" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.voice_states ADD CONSTRAINT "FK_9f8d389866b40b6657edd026dd4" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_user_mentions ADD CONSTRAINT "FK_a343387fc560ef378760681c236" FOREIGN KEY ("messagesId") REFERENCES public.messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.applications ADD CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY (team_id) REFERENCES public.teams(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_role_mentions ADD CONSTRAINT "FK_a8242cf535337a490b0feaea0b4" FOREIGN KEY ("messagesId") REFERENCES public.messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_b0525304f2262b7014245351c76" FOREIGN KEY (member_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_b193588441b085352a4c0109423" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_user_mentions ADD CONSTRAINT "FK_b831eb18ceebd28976239b1e2f8" FOREIGN KEY ("usersId") REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.audit_logs ADD CONSTRAINT "FK_bd2726fd31b35443f2245b93ba0" FOREIGN KEY (user_id) REFERENCES public.users(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_channel_mentions ADD CONSTRAINT "FK_bdb8c09e1464cabf62105bf4b9d" FOREIGN KEY ("channelsId") REFERENCES public.channels(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.channels ADD CONSTRAINT "FK_c253dafe5f3a03ec00cd8fb4581" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.team_members ADD CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.roles ADD CONSTRAINT "FK_c32c1ab1c4dc7dcb0278c4b1b8b" FOREIGN KEY (guild_id) REFERENCES public.guilds(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_c3e5305461931763b56aa905f1c" FOREIGN KEY (application_id) REFERENCES public.applications(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_cfc3d3ad260f8121c95b31a1fce" FOREIGN KEY (system_channel_id) REFERENCES public.channels(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.templates ADD CONSTRAINT "FK_d7374b7f8f5fbfdececa4fb62e1" FOREIGN KEY (creator_id) REFERENCES public.users(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.webhooks ADD CONSTRAINT "FK_df528cf77e82f8032230e7e37d8" FOREIGN KEY (channel_id) REFERENCES public.channels(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.message_stickers ADD CONSTRAINT "FK_e22a70819d07659c7a71c112a1f" FOREIGN KEY ("stickersId") REFERENCES public.stickers(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_e2a2f873a64a5cf62526de42325" FOREIGN KEY (template_id) REFERENCES public.templates(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.applications ADD CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY (owner_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.stickers ADD CONSTRAINT "FK_e7cfa5cefa6661b3fb8fda8ce69" FOREIGN KEY (pack_id) REFERENCES public.sticker_packs(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.member_roles ADD CONSTRAINT "FK_e9080e7a7997a0170026d5139c1" FOREIGN KEY (role_id) REFERENCES public.roles(id) ON UPDATE CASCADE ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.connected_accounts ADD CONSTRAINT "FK_f47244225a6a1eac04a3463dd90" FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_f591a66b8019d87b0fe6c12dad6" FOREIGN KEY (afk_channel_id) REFERENCES public.channels(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.messages ADD CONSTRAINT "FK_f83c04bcf1df4e5c0e7a52ed348" FOREIGN KEY (webhook_id) REFERENCES public.webhooks(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.notes ADD CONSTRAINT "FK_f9e103f8ae67cb1787063597925" FOREIGN KEY (owner_id) REFERENCES public.users(id) ON DELETE CASCADE;`);
- await queryRunner.query(`ALTER TABLE ONLY public.emojis ADD CONSTRAINT "FK_fa7ddd5f9a214e28ce596548421" FOREIGN KEY (user_id) REFERENCES public.users(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.guilds ADD CONSTRAINT "FK_fc1a451727e3643ca572a3bb394" FOREIGN KEY (owner_id) REFERENCES public.users(id);`);
- await queryRunner.query(`ALTER TABLE ONLY public.team_members ADD CONSTRAINT "FK_fdad7d5768277e60c40e01cdcea" FOREIGN KEY (team_id) REFERENCES public.teams(id) ON DELETE CASCADE;`);
- }
-
- public async down(_: QueryRunner): Promise<void> {
- throw new Error("Can't revert this: just throw away your database lol");
- }
-}
-
|