diff --git a/src/database/entities/Emoji.ts b/src/database/entities/Emoji.ts
index 0bf24614..51d00c18 100644
--- a/src/database/entities/Emoji.ts
+++ b/src/database/entities/Emoji.ts
@@ -34,7 +34,7 @@ export class Emoji extends BaseClass {
@Column({ nullable: true })
guild_id: string | null;
- @JoinColumn({ name: "guild_id" })
+ @JoinColumn({ name: "guild_id", foreignKeyConstraintName: "FK_emoji_guild_id" })
@ManyToOne(() => Guild, (guild) => guild.emojis, {
onDelete: "CASCADE",
nullable: true,
@@ -44,7 +44,7 @@ export class Emoji extends BaseClass {
@Column({ nullable: true })
application_id: string | null;
- @JoinColumn({ name: "application_id" })
+ @JoinColumn({ name: "application_id", foreignKeyConstraintName: "FK_emoji_application_id" })
@ManyToOne(() => Application, (application) => application.emojis, {
onDelete: "CASCADE",
nullable: true,
diff --git a/src/database/migration/postgres/1782839999040-ApplicationEmojis.ts b/src/database/migration/postgres/1782839999040-ApplicationEmojis.ts
new file mode 100644
index 00000000..53610ca9
--- /dev/null
+++ b/src/database/migration/postgres/1782839999040-ApplicationEmojis.ts
@@ -0,0 +1,25 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+
+export class ApplicationEmojis1782839999040 implements MigrationInterface {
+ name = "ApplicationEmojis1782839999040";
+
+ public async up(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(`ALTER TABLE "emojis" ADD "application_id" bigint`);
+ await queryRunner.query(`ALTER TABLE "emojis" DROP CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc"`);
+ await queryRunner.query(`ALTER TABLE "emojis" ALTER COLUMN "guild_id" DROP NOT NULL`);
+ await queryRunner.query(`ALTER TABLE "emojis" ADD CONSTRAINT "FK_emoji_guild_id" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
+ await queryRunner.query(
+ `ALTER TABLE "emojis" ADD CONSTRAINT "FK_emoji_application_id" FOREIGN KEY ("application_id") REFERENCES "applications"("id") ON DELETE CASCADE ON UPDATE NO ACTION`,
+ );
+ }
+
+ public async down(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(`ALTER TABLE "emojis" DROP CONSTRAINT "FK_emoji_application_id"`);
+ await queryRunner.query(`ALTER TABLE "emojis" DROP CONSTRAINT "FK_emoji_guild_id"`);
+ await queryRunner.query(`ALTER TABLE "emojis" ALTER COLUMN "guild_id" SET NOT NULL`);
+ await queryRunner.query(
+ `ALTER TABLE "emojis" ADD CONSTRAINT "FK_4b988e0db89d94cebcf07f598cc" FOREIGN KEY ("guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION`,
+ );
+ await queryRunner.query(`ALTER TABLE "emojis" DROP COLUMN "application_id"`);
+ }
+}
|