mirror of
https://github.com/spacebarchat/server.git
synced 2026-04-23 20:55:58 +00:00
int8 primary keys
This commit is contained in:
@@ -113,7 +113,7 @@ export class BaseClassWithoutId extends BaseEntity {
|
||||
}
|
||||
|
||||
export class BaseClass extends BaseClassWithoutId {
|
||||
@PrimaryColumn()
|
||||
@PrimaryColumn({ type: "int8" })
|
||||
id: string = Snowflake.generate();
|
||||
|
||||
@BeforeUpdate()
|
||||
|
||||
@@ -4,8 +4,7 @@ export class ReconcileMigrationAttempts1760622755598 implements MigrationInterfa
|
||||
name = "ReconcileMigrationAttempts1760622755598";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
// doesnt work because initial setup is syncDb()
|
||||
//await queryRunner.query(`ALTER TABLE "webhooks" DROP CONSTRAINT "fk_d64f38834fa676f6caa4786ddd6"`);
|
||||
await queryRunner.query(`ALTER TABLE "webhooks" DROP CONSTRAINT IF EXISTS "fk_d64f38834fa676f6caa4786ddd6"`);
|
||||
await queryRunner.query(`ALTER TABLE "webhooks" ALTER COLUMN "source_channel_id" TYPE character varying`);
|
||||
await queryRunner.query(`ALTER TABLE "messages" ALTER COLUMN "username" TYPE character varying`);
|
||||
await queryRunner.query(`ALTER TABLE "messages" ALTER COLUMN "avatar" TYPE character varying`);
|
||||
|
||||
54
src/util/migration/postgres/1776178642000-Int8PrimaryKeys.ts
Normal file
54
src/util/migration/postgres/1776178642000-Int8PrimaryKeys.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeys1776178642000 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeys1776178642000";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// simple changes only
|
||||
await queryRunner.query(`ALTER TABLE application_commands ALTER COLUMN id TYPE ${to} USING id::${to};`); // varchar
|
||||
// applications -> separate migration
|
||||
await queryRunner.query(`ALTER TABLE attachments ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE audit_logs ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE automod_rules ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE backup_codes ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE badges ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE bans ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE categories ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
// channels -> separate migration
|
||||
await queryRunner.query(`ALTER TABLE client_release ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE cloud_attachments ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE connected_accounts ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE embed_cache ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE emojis ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
// guilds -> separate migration
|
||||
// instance_bans -> separate migration
|
||||
// messages -> separate migration
|
||||
await queryRunner.query(`ALTER TABLE notes ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE rate_limits ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE read_states ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE recipients ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE relationships ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
// roles -> separate migration
|
||||
await queryRunner.query(`ALTER TABLE security_keys ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE security_settings ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
// sticker_packs -> separate migration
|
||||
// stickers -> separate migration
|
||||
await queryRunner.query(`ALTER TABLE stream_sessions ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
// streams -> separate migration
|
||||
await queryRunner.query(`ALTER TABLE tags ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE team_members ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
// teams -> separate migration
|
||||
// templates -> separate migration
|
||||
// users -> separate migration
|
||||
await queryRunner.query(`ALTER TABLE voice_states ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
// webhooks -> separate migration
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysApplications1776178642001 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysApplications1776178642001";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// applications
|
||||
// -> messages
|
||||
await queryRunner.query(`ALTER TABLE messages DROP CONSTRAINT "FK_5d3ec1cb962de6488637fd779d6";`); // application_id
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN application_id TYPE ${to} USING application_id::${to};`);
|
||||
// --> webhooks
|
||||
await queryRunner.query(`ALTER TABLE webhooks DROP CONSTRAINT "FK_c3e5305461931763b56aa905f1c";`); // application_id
|
||||
await queryRunner.query(`ALTER TABLE webhooks ALTER COLUMN application_id TYPE ${to} USING application_id::${to};`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE applications ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE webhooks ADD CONSTRAINT "FK_c3e5305461931763b56aa905f1c" FOREIGN KEY (application_id) REFERENCES applications(id);`);
|
||||
await queryRunner.query(`ALTER TABLE messages ADD CONSTRAINT "FK_5d3ec1cb962de6488637fd779d6" FOREIGN KEY (application_id) REFERENCES applications(id);`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysChannels1776178642002 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysChannels1776178642002";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// channels
|
||||
// -> channels
|
||||
await queryRunner.query(`ALTER TABLE channels DROP CONSTRAINT "FK_3274522d14af40540b1a883fc80";`); //parent_id
|
||||
await queryRunner.query(`ALTER TABLE channels ALTER COLUMN parent_id TYPE ${to} USING parent_id::${to}`);
|
||||
// -> cloud_attachments
|
||||
await queryRunner.query(`ALTER TABLE cloud_attachments DROP CONSTRAINT "FK_998d5fe91008ba5b09e1322104c";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE cloud_attachments ALTER COLUMN channel_id TYPE ${to} USING channel_id::${to}`);
|
||||
// -> guilds
|
||||
await queryRunner.query(`ALTER TABLE guilds DROP CONSTRAINT "FK_8d450b016dc8bec35f36729e4b0";`); //public_updates_channel_id
|
||||
await queryRunner.query(`ALTER TABLE guilds ALTER COLUMN public_updates_channel_id TYPE ${to} USING public_updates_channel_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE guilds DROP CONSTRAINT "FK_95828668aa333460582e0ca6396";`); //rules_channel_id
|
||||
await queryRunner.query(`ALTER TABLE guilds ALTER COLUMN rules_channel_id TYPE ${to} USING rules_channel_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE guilds DROP CONSTRAINT "FK_9d1d665379eefde7876a17afa99";`); //widget_channel_id
|
||||
await queryRunner.query(`ALTER TABLE guilds ALTER COLUMN widget_channel_id TYPE ${to} USING widget_channel_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE guilds DROP CONSTRAINT "FK_cfc3d3ad260f8121c95b31a1fce";`); //system_channel_id
|
||||
await queryRunner.query(`ALTER TABLE guilds ALTER COLUMN system_channel_id TYPE ${to} USING system_channel_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE guilds DROP CONSTRAINT "FK_f591a66b8019d87b0fe6c12dad6";`); //afk_channel_id
|
||||
await queryRunner.query(`ALTER TABLE guilds ALTER COLUMN afk_channel_id TYPE ${to} USING afk_channel_id::${to}`);
|
||||
// -> invites
|
||||
await queryRunner.query(`ALTER TABLE invites DROP CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE invites ALTER COLUMN channel_id TYPE ${to} USING channel_id::${to}`);
|
||||
// -> message_channel_mentions
|
||||
await queryRunner.query(`ALTER TABLE message_channel_mentions DROP CONSTRAINT "FK_bdb8c09e1464cabf62105bf4b9d";`); //channelsId
|
||||
await queryRunner.query(`ALTER TABLE message_channel_mentions ALTER COLUMN "channelsId" TYPE ${to} USING "channelsId"::${to}`);
|
||||
// -> messages
|
||||
await queryRunner.query(`ALTER TABLE messages DROP CONSTRAINT "FK_86b9109b155eb70c0a2ca3b4b6d";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN "channel_id" TYPE ${to} USING "channel_id"::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE messages DROP CONSTRAINT "FK_bb3af7f695d50083e6523290d41";`); //thread_id
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN "thread_id" TYPE ${to} USING "thread_id"::${to}`);
|
||||
// -> read_states
|
||||
await queryRunner.query(`ALTER TABLE read_states DROP CONSTRAINT "FK_40da2fca4e0eaf7a23b5bfc5d34";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE read_states ALTER COLUMN "channel_id" TYPE ${to} USING "channel_id"::${to}`);
|
||||
// -> recipients
|
||||
await queryRunner.query(`ALTER TABLE recipients DROP CONSTRAINT "FK_2f18ee1ba667f233ae86c0ea60e";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE recipients ALTER COLUMN "channel_id" TYPE ${to} USING "channel_id"::${to}`);
|
||||
// -> streams
|
||||
await queryRunner.query(`ALTER TABLE streams DROP CONSTRAINT "FK_5101f0cded27ff0aae78fc4eed7";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE streams ALTER COLUMN "channel_id" TYPE ${to} USING "channel_id"::${to}`);
|
||||
// -> tags
|
||||
await queryRunner.query(`ALTER TABLE tags DROP CONSTRAINT "FK_2e2df07f6dacc12e1932b361fe4";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE tags ALTER COLUMN "channel_id" TYPE ${to} USING "channel_id"::${to}`);
|
||||
// -> thread_members
|
||||
await queryRunner.query(`ALTER TABLE thread_members DROP CONSTRAINT "FK_cf20e37d71b0e1bf1ab633861c8";`); //id
|
||||
await queryRunner.query(`ALTER TABLE thread_members ALTER COLUMN "id" TYPE ${to} USING "id"::${to}`);
|
||||
// -> voice_states
|
||||
await queryRunner.query(`ALTER TABLE voice_states DROP CONSTRAINT "FK_9f8d389866b40b6657edd026dd4";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE voice_states ALTER COLUMN "channel_id" TYPE ${to} USING "channel_id"::${to}`);
|
||||
// -> webhooks
|
||||
await queryRunner.query(`ALTER TABLE webhooks DROP CONSTRAINT "FK_4495b7032a33c6b8b605d030398";`); //source_channel_id
|
||||
await queryRunner.query(`ALTER TABLE webhooks ALTER COLUMN "source_channel_id" TYPE ${to} USING "source_channel_id"::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE webhooks DROP CONSTRAINT "FK_df528cf77e82f8032230e7e37d8";`); //channel_id
|
||||
await queryRunner.query(`ALTER TABLE webhooks ALTER COLUMN "channel_id" TYPE ${to} USING "channel_id"::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE channels ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE channels ADD CONSTRAINT "FK_3274522d14af40540b1a883fc80" FOREIGN KEY (parent_id) REFERENCES channels(id);`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE cloud_attachments ADD CONSTRAINT "FK_998d5fe91008ba5b09e1322104c" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE SET NULL;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE guilds ADD CONSTRAINT "FK_8d450b016dc8bec35f36729e4b0" FOREIGN KEY (public_updates_channel_id) REFERENCES channels(id);`);
|
||||
await queryRunner.query(`ALTER TABLE guilds ADD CONSTRAINT "FK_95828668aa333460582e0ca6396" FOREIGN KEY (rules_channel_id) REFERENCES channels(id);`);
|
||||
await queryRunner.query(`ALTER TABLE guilds ADD CONSTRAINT "FK_9d1d665379eefde7876a17afa99" FOREIGN KEY (widget_channel_id) REFERENCES channels(id);`);
|
||||
await queryRunner.query(`ALTER TABLE guilds ADD CONSTRAINT "FK_cfc3d3ad260f8121c95b31a1fce" FOREIGN KEY (system_channel_id) REFERENCES channels(id);`);
|
||||
await queryRunner.query(`ALTER TABLE guilds ADD CONSTRAINT "FK_f591a66b8019d87b0fe6c12dad6" FOREIGN KEY (afk_channel_id) REFERENCES channels(id);`);
|
||||
await queryRunner.query(`ALTER TABLE invites ADD CONSTRAINT "FK_6a15b051fe5050aa00a4b9ff0f6" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE message_channel_mentions ADD CONSTRAINT "FK_bdb8c09e1464cabf62105bf4b9d" FOREIGN KEY ("channelsId") REFERENCES channels(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE messages ADD CONSTRAINT "FK_86b9109b155eb70c0a2ca3b4b6d" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE messages ADD CONSTRAINT "FK_bb3af7f695d50083e6523290d41" FOREIGN KEY (thread_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE read_states ADD CONSTRAINT "FK_40da2fca4e0eaf7a23b5bfc5d34" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE recipients ADD CONSTRAINT "FK_2f18ee1ba667f233ae86c0ea60e" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE streams ADD CONSTRAINT "FK_5101f0cded27ff0aae78fc4eed7" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE tags ADD CONSTRAINT "FK_2e2df07f6dacc12e1932b361fe4" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE thread_members ADD CONSTRAINT "FK_cf20e37d71b0e1bf1ab633861c8" FOREIGN KEY (id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE voice_states ADD CONSTRAINT "FK_9f8d389866b40b6657edd026dd4" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE webhooks ADD CONSTRAINT "FK_4495b7032a33c6b8b605d030398" FOREIGN KEY (source_channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE webhooks ADD CONSTRAINT "FK_df528cf77e82f8032230e7e37d8" FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE;`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysGuilds1776178642003 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysGuilds1776178642003";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// guilds
|
||||
// -> applications
|
||||
await queryRunner.query(`ALTER TABLE applications DROP CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE applications ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> bans
|
||||
await queryRunner.query(`ALTER TABLE bans DROP CONSTRAINT "FK_9d3ab7dd180ebdd245cdb66ecad";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE bans ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> channels
|
||||
await queryRunner.query(`ALTER TABLE channels DROP CONSTRAINT "FK_c253dafe5f3a03ec00cd8fb4581";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE channels ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> emojis
|
||||
await queryRunner.query(`ALTER TABLE emojis DROP CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE emojis ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> invites
|
||||
await queryRunner.query(`ALTER TABLE invites DROP CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE invites ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> members
|
||||
await queryRunner.query(`ALTER TABLE members DROP CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE members ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> messages
|
||||
await queryRunner.query(`ALTER TABLE messages DROP CONSTRAINT "FK_b193588441b085352a4c0109423";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> roles
|
||||
await queryRunner.query(`ALTER TABLE roles DROP CONSTRAINT "FK_c32c1ab1c4dc7dcb0278c4b1b8b";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE roles ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> stickers
|
||||
await queryRunner.query(`ALTER TABLE stickers DROP CONSTRAINT "FK_193d551d852aca5347ef5c9f205";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE stickers ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> templates
|
||||
await queryRunner.query(`ALTER TABLE templates DROP CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11";`); //source_guild_id
|
||||
await queryRunner.query(`ALTER TABLE templates ALTER COLUMN source_guild_id TYPE ${to} USING source_guild_id::${to}`);
|
||||
// -> voice_states
|
||||
await queryRunner.query(`ALTER TABLE voice_states DROP CONSTRAINT "FK_03779ef216d4b0358470d9cb748";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE voice_states ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// -> webhooks
|
||||
await queryRunner.query(`ALTER TABLE webhooks DROP CONSTRAINT "FK_3a285f4f49c40e0706d3018bc9f";`); //source_guild_id
|
||||
await queryRunner.query(`ALTER TABLE webhooks ALTER COLUMN source_guild_id TYPE ${to} USING source_guild_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE webhooks DROP CONSTRAINT "FK_487a7af59d189f744fe394368fc";`); //guild_id
|
||||
await queryRunner.query(`ALTER TABLE webhooks ALTER COLUMN guild_id TYPE ${to} USING guild_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE guilds ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE public.messages ADD CONSTRAINT "FK_b193588441b085352a4c0109423" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.invites ADD CONSTRAINT "FK_3f4939aa1461e8af57fea3fb05d" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.templates ADD CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" FOREIGN KEY (source_guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.webhooks ADD CONSTRAINT "FK_3a285f4f49c40e0706d3018bc9f" FOREIGN KEY (source_guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE public.webhooks ADD CONSTRAINT "FK_487a7af59d189f744fe394368fc" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.members ADD CONSTRAINT "FK_16aceddd5b89825b8ed6029ad1c" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.roles ADD CONSTRAINT "FK_c32c1ab1c4dc7dcb0278c4b1b8b" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.stickers ADD CONSTRAINT "FK_193d551d852aca5347ef5c9f205" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.applications ADD CONSTRAINT "FK_e5bf78cdbbe9ba91062d74c5aba" FOREIGN KEY (guild_id) REFERENCES guilds(id);`);
|
||||
await queryRunner.query(`ALTER TABLE public.voice_states ADD CONSTRAINT "FK_03779ef216d4b0358470d9cb748" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.bans ADD CONSTRAINT "FK_9d3ab7dd180ebdd245cdb66ecad" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.emojis ADD CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.channels ADD CONSTRAINT "FK_c253dafe5f3a03ec00cd8fb4581" FOREIGN KEY (guild_id) REFERENCES guilds(id) ON DELETE CASCADE;`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysInstanceBans1776178642004 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysInstanceBans1776178642004";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// instance_bans
|
||||
// -> instance_bans
|
||||
await queryRunner.query(`ALTER TABLE instance_bans DROP CONSTRAINT "FK_0b02d18d0d830f160c921192a30";`); //origin_instance_ban_id
|
||||
await queryRunner.query(`ALTER TABLE instance_bans ALTER COLUMN origin_instance_ban_id TYPE ${to} USING origin_instance_ban_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE instance_bans ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE instance_bans ADD CONSTRAINT "FK_0b02d18d0d830f160c921192a30" FOREIGN KEY (origin_instance_ban_id) REFERENCES instance_bans(id) ON DELETE SET NULL;`,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysMessages1776178642005 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysMessages1776178642005";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// messages
|
||||
// -> message_role_mentions
|
||||
await queryRunner.query(`ALTER TABLE message_role_mentions DROP CONSTRAINT "FK_a8242cf535337a490b0feaea0b4";`); //messagesId
|
||||
await queryRunner.query(`ALTER TABLE message_role_mentions ALTER COLUMN "messagesId" TYPE ${to} USING "messagesId"::${to}`);
|
||||
// -> message_channel_mentions
|
||||
await queryRunner.query(`ALTER TABLE message_channel_mentions DROP CONSTRAINT "FK_2a27102ecd1d81b4582a4360921";`); //messagesId
|
||||
await queryRunner.query(`ALTER TABLE message_channel_mentions ALTER COLUMN "messagesId" TYPE ${to} USING "messagesId"::${to}`);
|
||||
// -> message_user_mentions
|
||||
await queryRunner.query(`ALTER TABLE message_user_mentions DROP CONSTRAINT "FK_a343387fc560ef378760681c236";`); //messagesId
|
||||
await queryRunner.query(`ALTER TABLE message_user_mentions ALTER COLUMN "messagesId" TYPE ${to} USING "messagesId"::${to}`);
|
||||
// -> message_stickers
|
||||
await queryRunner.query(`ALTER TABLE message_stickers DROP CONSTRAINT "FK_40bb6f23e7cc133292e92829d28";`); //messagesId
|
||||
await queryRunner.query(`ALTER TABLE message_stickers ALTER COLUMN "messagesId" TYPE ${to} USING "messagesId"::${to}`);
|
||||
// -> attachments
|
||||
await queryRunner.query(`ALTER TABLE attachments DROP CONSTRAINT "FK_623e10eec51ada466c5038979e3";`); //message_id
|
||||
await queryRunner.query(`ALTER TABLE attachments ALTER COLUMN message_id TYPE ${to} USING message_id::${to}`);
|
||||
// -> messages
|
||||
await queryRunner.query(`ALTER TABLE messages DROP CONSTRAINT "FK_61a92bb65b302a76d9c1fcd3174";`); //message_reference_id
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN message_reference_id TYPE ${to} USING message_reference_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE message_role_mentions ADD CONSTRAINT "FK_a8242cf535337a490b0feaea0b4" FOREIGN KEY ("messagesId") REFERENCES messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE message_channel_mentions ADD CONSTRAINT "FK_2a27102ecd1d81b4582a4360921" FOREIGN KEY ("messagesId") REFERENCES messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE message_user_mentions ADD CONSTRAINT "FK_a343387fc560ef378760681c236" FOREIGN KEY ("messagesId") REFERENCES messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE message_stickers ADD CONSTRAINT "FK_40bb6f23e7cc133292e92829d28" FOREIGN KEY ("messagesId") REFERENCES messages(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE attachments ADD CONSTRAINT "FK_623e10eec51ada466c5038979e3" FOREIGN KEY (message_id) REFERENCES messages(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE messages ADD CONSTRAINT "FK_61a92bb65b302a76d9c1fcd3174" FOREIGN KEY (message_reference_id) REFERENCES messages(id) ON DELETE SET NULL;`,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysRoles1776178642006 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysRoles1776178642006";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// roles
|
||||
// -> message_role_mentions
|
||||
await queryRunner.query(`ALTER TABLE message_role_mentions DROP CONSTRAINT "FK_29d63eb1a458200851bc37d074b";`); //rolesId
|
||||
await queryRunner.query(`ALTER TABLE message_role_mentions ALTER COLUMN "rolesId" TYPE ${to} USING "rolesId"::${to}`);
|
||||
// -> member_roles
|
||||
await queryRunner.query(`ALTER TABLE member_roles DROP CONSTRAINT "FK_e9080e7a7997a0170026d5139c1";`); //role_id
|
||||
await queryRunner.query(`ALTER TABLE member_roles ALTER COLUMN "role_id" TYPE ${to} USING "role_id"::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE roles ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.message_role_mentions ADD CONSTRAINT "FK_29d63eb1a458200851bc37d074b" FOREIGN KEY ("rolesId") REFERENCES roles(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.member_roles ADD CONSTRAINT "FK_e9080e7a7997a0170026d5139c1" FOREIGN KEY (role_id) REFERENCES roles(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysStickerPacks1776178642007 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysStickerPacks1776178642007";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// sticker_packs
|
||||
// -> stickers
|
||||
await queryRunner.query(`ALTER TABLE stickers DROP CONSTRAINT "FK_e7cfa5cefa6661b3fb8fda8ce69";`); //pack_id
|
||||
await queryRunner.query(`ALTER TABLE stickers ALTER COLUMN pack_id TYPE ${to} USING pack_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE sticker_packs ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.stickers ADD CONSTRAINT "FK_e7cfa5cefa6661b3fb8fda8ce69" FOREIGN KEY (pack_id) REFERENCES sticker_packs(id) ON DELETE CASCADE;`,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysStickers1776178642008 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysStickers1776178642008";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// stickers
|
||||
// -> message_stickers
|
||||
await queryRunner.query(`ALTER TABLE message_stickers DROP CONSTRAINT "FK_e22a70819d07659c7a71c112a1f";`); //stickersId
|
||||
await queryRunner.query(`ALTER TABLE message_stickers ALTER COLUMN "stickersId" TYPE ${to} USING "stickersId"::${to}`);
|
||||
// -> sticker_packs
|
||||
await queryRunner.query(`ALTER TABLE sticker_packs DROP CONSTRAINT "FK_448fafba4355ee1c837bbc865f1";`); //coverStickerId
|
||||
await queryRunner.query(`ALTER TABLE sticker_packs ALTER COLUMN "coverStickerId" TYPE ${to} USING "coverStickerId"::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE stickers ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.message_stickers ADD CONSTRAINT "FK_e22a70819d07659c7a71c112a1f" FOREIGN KEY ("stickersId") REFERENCES stickers(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE public.sticker_packs ADD CONSTRAINT "FK_448fafba4355ee1c837bbc865f1" FOREIGN KEY ("coverStickerId") REFERENCES stickers (id);`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysStreams1776178642009 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysStreams1776178642009";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// streams
|
||||
// -> stream_sessions
|
||||
await queryRunner.query(`ALTER TABLE stream_sessions DROP CONSTRAINT "FK_8b5a028a34dae9ee54af37c9c32";`); //stream_id
|
||||
await queryRunner.query(`ALTER TABLE stream_sessions ALTER COLUMN stream_id TYPE ${to} USING stream_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE streams ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.stream_sessions ADD CONSTRAINT "FK_8b5a028a34dae9ee54af37c9c32" FOREIGN KEY (stream_id) REFERENCES streams(id) ON DELETE CASCADE;`,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysTeams1776178642010 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysTeams1776178642010";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// teams
|
||||
// -> applications
|
||||
await queryRunner.query(`ALTER TABLE applications DROP CONSTRAINT "FK_a36ed02953077f408d0f3ebc424";`); //team_id
|
||||
await queryRunner.query(`ALTER TABLE applications ALTER COLUMN team_id TYPE ${to} USING team_id::${to}`);
|
||||
// -> team_members
|
||||
await queryRunner.query(`ALTER TABLE team_members DROP CONSTRAINT "FK_fdad7d5768277e60c40e01cdcea";`); //team_id
|
||||
await queryRunner.query(`ALTER TABLE team_members ALTER COLUMN team_id TYPE ${to} USING team_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE teams ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE public.applications ADD CONSTRAINT "FK_a36ed02953077f408d0f3ebc424" FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.team_members ADD CONSTRAINT "FK_fdad7d5768277e60c40e01cdcea" FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE;`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysTemplates1776178642011 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysTemplates1776178642011";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// templates
|
||||
// -> guilds
|
||||
await queryRunner.query(`ALTER TABLE guilds DROP CONSTRAINT "FK_e2a2f873a64a5cf62526de42325";`); //template_id
|
||||
await queryRunner.query(`ALTER TABLE guilds ALTER COLUMN template_id TYPE ${to} USING template_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE templates ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE public.guilds ADD CONSTRAINT "FK_e2a2f873a64a5cf62526de42325" FOREIGN KEY (template_id) REFERENCES templates(id);`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysUsers1776178642012 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysUsers1776178642012";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// users
|
||||
// -> applications
|
||||
await queryRunner.query(`ALTER TABLE applications DROP CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647";`); //bot_user_id
|
||||
await queryRunner.query(`ALTER TABLE applications ALTER COLUMN bot_user_id TYPE ${to} USING bot_user_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE applications DROP CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8";`); //owner_id
|
||||
await queryRunner.query(`ALTER TABLE applications ALTER COLUMN owner_id TYPE ${to} USING owner_id::${to}`);
|
||||
// -> audit_logs
|
||||
await queryRunner.query(`ALTER TABLE audit_logs DROP CONSTRAINT "FK_3cd01cd3ae7aab010310d96ac8e";`); //target_id
|
||||
await queryRunner.query(`ALTER TABLE audit_logs ALTER COLUMN target_id TYPE ${to} USING target_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE audit_logs DROP CONSTRAINT "FK_bd2726fd31b35443f2245b93ba0";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE audit_logs ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> automod_rules
|
||||
await queryRunner.query(`ALTER TABLE automod_rules DROP CONSTRAINT "FK_12d3d60b961393d310429c062b7";`); //creator_id
|
||||
await queryRunner.query(`ALTER TABLE automod_rules ALTER COLUMN creator_id TYPE ${to} USING creator_id::${to}`);
|
||||
// -> backup_codes
|
||||
await queryRunner.query(`ALTER TABLE backup_codes DROP CONSTRAINT "FK_70066ea80d2f4b871beda32633b";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE backup_codes ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> bans
|
||||
await queryRunner.query(`ALTER TABLE bans DROP CONSTRAINT "FK_07ad88c86d1f290d46748410d58";`); //executor_id
|
||||
await queryRunner.query(`ALTER TABLE bans ALTER COLUMN executor_id TYPE ${to} USING executor_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE bans DROP CONSTRAINT "FK_5999e8e449f80a236ff72023559";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE bans ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> channels
|
||||
await queryRunner.query(`ALTER TABLE channels DROP CONSTRAINT "FK_3873ed438575cce703ecff4fc7b";`); //owner_id
|
||||
await queryRunner.query(`ALTER TABLE channels ALTER COLUMN owner_id TYPE ${to} USING owner_id::${to}`);
|
||||
// -> cloud_attachments
|
||||
await queryRunner.query(`ALTER TABLE cloud_attachments DROP CONSTRAINT "FK_8bf8cc8767e48cb482ff644fce6";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE cloud_attachments ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> connected_accounts
|
||||
await queryRunner.query(`ALTER TABLE connected_accounts DROP CONSTRAINT "FK_f47244225a6a1eac04a3463dd90";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE connected_accounts ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> emojis
|
||||
await queryRunner.query(`ALTER TABLE emojis DROP CONSTRAINT "FK_fa7ddd5f9a214e28ce596548421";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE emojis ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> guilds
|
||||
await queryRunner.query(`ALTER TABLE guilds DROP CONSTRAINT "FK_fc1a451727e3643ca572a3bb394";`); //owner_id
|
||||
await queryRunner.query(`ALTER TABLE guilds ALTER COLUMN owner_id TYPE ${to} USING owner_id::${to}`);
|
||||
// -> invites
|
||||
await queryRunner.query(`ALTER TABLE invites DROP CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59";`); //target_user_id
|
||||
await queryRunner.query(`ALTER TABLE invites ALTER COLUMN target_user_id TYPE ${to} USING target_user_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE invites DROP CONSTRAINT "FK_15c35422032e0b22b4ada95f48f";`); //inviter_id
|
||||
await queryRunner.query(`ALTER TABLE invites ALTER COLUMN inviter_id TYPE ${to} USING inviter_id::${to}`);
|
||||
// -> members
|
||||
await queryRunner.query(`ALTER TABLE members DROP CONSTRAINT "FK_28b53062261b996d9c99fa12404";`); //id
|
||||
await queryRunner.query(`ALTER TABLE members ALTER COLUMN id TYPE ${to} USING id::${to}`);
|
||||
// -> message_user_mentions
|
||||
await queryRunner.query(`ALTER TABLE message_user_mentions DROP CONSTRAINT "FK_b831eb18ceebd28976239b1e2f8";`); //usersId
|
||||
await queryRunner.query(`ALTER TABLE message_user_mentions ALTER COLUMN "usersId" TYPE ${to} USING "usersId"::${to}`);
|
||||
// -> messages
|
||||
await queryRunner.query(`ALTER TABLE messages DROP CONSTRAINT "FK_05535bc695e9f7ee104616459d3";`); //author_id
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN author_id TYPE ${to} USING author_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE messages DROP CONSTRAINT "FK_b0525304f2262b7014245351c76";`); //member_id
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN member_id TYPE ${to} USING member_id::${to}`);
|
||||
// -> notes
|
||||
await queryRunner.query(`ALTER TABLE notes DROP CONSTRAINT "FK_23e08e5b4481711d573e1abecdc";`); //target_id
|
||||
await queryRunner.query(`ALTER TABLE notes ALTER COLUMN target_id TYPE ${to} USING target_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE notes DROP CONSTRAINT "FK_f9e103f8ae67cb1787063597925";`); //owner_id
|
||||
await queryRunner.query(`ALTER TABLE notes ALTER COLUMN owner_id TYPE ${to} USING owner_id::${to}`);
|
||||
// -> read_states
|
||||
await queryRunner.query(`ALTER TABLE read_states DROP CONSTRAINT "FK_195f92e4dd1254a4e348c043763";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE read_states ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> recipients
|
||||
await queryRunner.query(`ALTER TABLE recipients DROP CONSTRAINT "FK_6157e8b6ba4e6e3089616481fe2";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE recipients ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> relationships
|
||||
await queryRunner.query(`ALTER TABLE relationships DROP CONSTRAINT "FK_9af4194bab1250b1c584ae4f1d7";`); //from_id
|
||||
await queryRunner.query(`ALTER TABLE relationships ALTER COLUMN from_id TYPE ${to} USING from_id::${to}`);
|
||||
await queryRunner.query(`ALTER TABLE relationships DROP CONSTRAINT "FK_9c7f6b98a9843b76dce1b0c878b";`); //to_id
|
||||
await queryRunner.query(`ALTER TABLE relationships ALTER COLUMN to_id TYPE ${to} USING to_id::${to}`);
|
||||
// -> security_keys
|
||||
await queryRunner.query(`ALTER TABLE security_keys DROP CONSTRAINT "FK_24c97d0771cafedce6d7163eaad";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE security_keys ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> sessions
|
||||
await queryRunner.query(`ALTER TABLE sessions DROP CONSTRAINT "FK_085d540d9f418cfbdc7bd55bb19";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE sessions ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> stickers
|
||||
await queryRunner.query(`ALTER TABLE stickers DROP CONSTRAINT "FK_8f4ee73f2bb2325ff980502e158";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE stickers ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> stream_sessions
|
||||
await queryRunner.query(`ALTER TABLE stream_sessions DROP CONSTRAINT "FK_13ae5c29aff4d0890c54179511a";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE stream_sessions ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> streams
|
||||
await queryRunner.query(`ALTER TABLE streams DROP CONSTRAINT "FK_1b566f9b54d1cda271da53ac82f";`); //owner_id
|
||||
await queryRunner.query(`ALTER TABLE streams ALTER COLUMN owner_id TYPE ${to} USING owner_id::${to}`);
|
||||
// -> team_members
|
||||
await queryRunner.query(`ALTER TABLE team_members DROP CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE team_members ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> teams
|
||||
await queryRunner.query(`ALTER TABLE teams DROP CONSTRAINT "FK_13f00abf7cb6096c43ecaf8c108";`); //owner_user_id
|
||||
await queryRunner.query(`ALTER TABLE teams ALTER COLUMN owner_user_id TYPE ${to} USING owner_user_id::${to}`);
|
||||
// -> templates
|
||||
await queryRunner.query(`ALTER TABLE templates DROP CONSTRAINT "FK_d7374b7f8f5fbfdececa4fb62e1";`); //creator_id
|
||||
await queryRunner.query(`ALTER TABLE templates ALTER COLUMN creator_id TYPE ${to} USING creator_id::${to}`);
|
||||
// -> user_settings_protos
|
||||
await queryRunner.query(`ALTER TABLE user_settings_protos DROP CONSTRAINT "FK_8ff3d1961a48b693810c9f99853";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE user_settings_protos ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> voice_states
|
||||
await queryRunner.query(`ALTER TABLE voice_states DROP CONSTRAINT "FK_5fe1d5f931a67e85039c640001b";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE voice_states ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// -> webhooks
|
||||
await queryRunner.query(`ALTER TABLE webhooks DROP CONSTRAINT "FK_0d523f6f997c86e052c49b1455f";`); //user_id
|
||||
await queryRunner.query(`ALTER TABLE webhooks ALTER COLUMN user_id TYPE ${to} USING user_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE users ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.applications ADD CONSTRAINT "FK_2ce5a55796fe4c2f77ece57a647" FOREIGN KEY (bot_user_id) REFERENCES users(id) ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE public.applications ADD CONSTRAINT "FK_e57508958bf92b9d9d25231b5e8" FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.audit_logs ADD CONSTRAINT "FK_3cd01cd3ae7aab010310d96ac8e" FOREIGN KEY (target_id) REFERENCES users(id);`);
|
||||
await queryRunner.query(`ALTER TABLE public.audit_logs ADD CONSTRAINT "FK_bd2726fd31b35443f2245b93ba0" FOREIGN KEY (user_id) REFERENCES users(id);`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.automod_rules ADD CONSTRAINT "FK_12d3d60b961393d310429c062b7" FOREIGN KEY (creator_id) REFERENCES users(id) ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE public.backup_codes ADD CONSTRAINT "FK_70066ea80d2f4b871beda32633b" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.bans ADD CONSTRAINT "FK_07ad88c86d1f290d46748410d58" FOREIGN KEY (executor_id) REFERENCES users(id);`);
|
||||
await queryRunner.query(`ALTER TABLE public.bans ADD CONSTRAINT "FK_5999e8e449f80a236ff72023559" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.channels ADD CONSTRAINT "FK_3873ed438575cce703ecff4fc7b" FOREIGN KEY (owner_id) REFERENCES users(id);`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.cloud_attachments ADD CONSTRAINT "FK_8bf8cc8767e48cb482ff644fce6" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL;`,
|
||||
);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.connected_accounts ADD CONSTRAINT "FK_f47244225a6a1eac04a3463dd90" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE public.emojis ADD CONSTRAINT "FK_fa7ddd5f9a214e28ce596548421" FOREIGN KEY (user_id) REFERENCES users(id);`);
|
||||
await queryRunner.query(`ALTER TABLE public.guilds ADD CONSTRAINT "FK_fc1a451727e3643ca572a3bb394" FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.invites ADD CONSTRAINT "FK_11a0d394f8fc649c19ce5f16b59" FOREIGN KEY (target_user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.invites ADD CONSTRAINT "FK_15c35422032e0b22b4ada95f48f" FOREIGN KEY (inviter_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.members ADD CONSTRAINT "FK_28b53062261b996d9c99fa12404" FOREIGN KEY (id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE public.message_user_mentions ADD CONSTRAINT "FK_b831eb18ceebd28976239b1e2f8" FOREIGN KEY ("usersId") REFERENCES users(id) ON UPDATE CASCADE ON DELETE CASCADE;`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE public.messages ADD CONSTRAINT "FK_05535bc695e9f7ee104616459d3" FOREIGN KEY (author_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.messages ADD CONSTRAINT "FK_b0525304f2262b7014245351c76" FOREIGN KEY (member_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.notes ADD CONSTRAINT "FK_23e08e5b4481711d573e1abecdc" FOREIGN KEY (target_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.notes ADD CONSTRAINT "FK_f9e103f8ae67cb1787063597925" FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.read_states ADD CONSTRAINT "FK_195f92e4dd1254a4e348c043763" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.recipients ADD CONSTRAINT "FK_6157e8b6ba4e6e3089616481fe2" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.relationships ADD CONSTRAINT "FK_9af4194bab1250b1c584ae4f1d7" FOREIGN KEY (from_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.relationships ADD CONSTRAINT "FK_9c7f6b98a9843b76dce1b0c878b" FOREIGN KEY (to_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.security_keys ADD CONSTRAINT "FK_24c97d0771cafedce6d7163eaad" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.sessions ADD CONSTRAINT "FK_085d540d9f418cfbdc7bd55bb19" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.stickers ADD CONSTRAINT "FK_8f4ee73f2bb2325ff980502e158" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.stream_sessions ADD CONSTRAINT "FK_13ae5c29aff4d0890c54179511a" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.streams ADD CONSTRAINT "FK_1b566f9b54d1cda271da53ac82f" FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.team_members ADD CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.teams ADD CONSTRAINT "FK_13f00abf7cb6096c43ecaf8c108" FOREIGN KEY (owner_user_id) REFERENCES users(id);`);
|
||||
await queryRunner.query(`ALTER TABLE public.templates ADD CONSTRAINT "FK_d7374b7f8f5fbfdececa4fb62e1" FOREIGN KEY (creator_id) REFERENCES users(id);`);
|
||||
await queryRunner.query(`ALTER TABLE public.user_settings_protos ADD CONSTRAINT "FK_8ff3d1961a48b693810c9f99853" FOREIGN KEY (user_id) REFERENCES users(id);`);
|
||||
await queryRunner.query(`ALTER TABLE public.voice_states ADD CONSTRAINT "FK_5fe1d5f931a67e85039c640001b" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
await queryRunner.query(`ALTER TABLE public.webhooks ADD CONSTRAINT "FK_0d523f6f997c86e052c49b1455f" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import { MigrationInterface, QueryRunner } from "typeorm";
|
||||
|
||||
export class Int8PrimaryKeysWebhooks1776178642013 implements MigrationInterface {
|
||||
name = "Int8PrimaryKeysWebhooks1776178642013";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "int8");
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await this.convertPks(queryRunner, "varchar");
|
||||
}
|
||||
|
||||
private async convertPks(queryRunner: QueryRunner, to: string) {
|
||||
// webhooks
|
||||
// -> messages
|
||||
await queryRunner.query(`ALTER TABLE messages DROP CONSTRAINT "FK_f83c04bcf1df4e5c0e7a52ed348";`); //webhook_id
|
||||
await queryRunner.query(`ALTER TABLE messages ALTER COLUMN webhook_id TYPE ${to} USING webhook_id::${to}`);
|
||||
// and finally, cleanup
|
||||
await queryRunner.query(`ALTER TABLE webhooks ALTER COLUMN id TYPE ${to} USING id::${to};`);
|
||||
await queryRunner.query(`ALTER TABLE public.messages ADD CONSTRAINT "FK_f83c04bcf1df4e5c0e7a52ed348" FOREIGN KEY (webhook_id) REFERENCES webhooks(id);`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user