diff --git a/src/util/entities/Template.ts b/src/util/entities/Template.ts
index 1d952283..7975e731 100644
--- a/src/util/entities/Template.ts
+++ b/src/util/entities/Template.ts
@@ -36,7 +36,7 @@ export class Template extends BaseClass {
source_guild_id: string;
@JoinColumn({ name: "source_guild_id" })
- @ManyToOne(() => Guild)
+ @ManyToOne(() => Guild, { onDelete: "CASCADE" })
source_guild: Guild;
@Column({ type: "simple-json" })
diff --git a/src/util/migration/mariadb/1673609465036-templateDeleteCascade.ts b/src/util/migration/mariadb/1673609465036-templateDeleteCascade.ts
new file mode 100644
index 00000000..3053b82b
--- /dev/null
+++ b/src/util/migration/mariadb/1673609465036-templateDeleteCascade.ts
@@ -0,0 +1,23 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+
+export class templateDeleteCascade1673609465036 implements MigrationInterface {
+ name = "templateDeleteCascade1673609465036";
+
+ public async up(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(
+ `ALTER TABLE \`templates\` DROP FOREIGN KEY \`FK_445d00eaaea0e60a017a5ed0c11\``,
+ );
+ await queryRunner.query(
+ `ALTER TABLE \`templates\` ADD CONSTRAINT \`FK_445d00eaaea0e60a017a5ed0c11\` FOREIGN KEY (\`source_guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`,
+ );
+ }
+
+ public async down(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(
+ `ALTER TABLE \`templates\` DROP FOREIGN KEY \`FK_445d00eaaea0e60a017a5ed0c11\``,
+ );
+ await queryRunner.query(
+ `ALTER TABLE \`templates\` ADD CONSTRAINT \`FK_445d00eaaea0e60a017a5ed0c11\` FOREIGN KEY (\`source_guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`,
+ );
+ }
+}
diff --git a/src/util/migration/mysql/1673609465036-templateDeleteCascade.ts b/src/util/migration/mysql/1673609465036-templateDeleteCascade.ts
new file mode 100644
index 00000000..3053b82b
--- /dev/null
+++ b/src/util/migration/mysql/1673609465036-templateDeleteCascade.ts
@@ -0,0 +1,23 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+
+export class templateDeleteCascade1673609465036 implements MigrationInterface {
+ name = "templateDeleteCascade1673609465036";
+
+ public async up(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(
+ `ALTER TABLE \`templates\` DROP FOREIGN KEY \`FK_445d00eaaea0e60a017a5ed0c11\``,
+ );
+ await queryRunner.query(
+ `ALTER TABLE \`templates\` ADD CONSTRAINT \`FK_445d00eaaea0e60a017a5ed0c11\` FOREIGN KEY (\`source_guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION`,
+ );
+ }
+
+ public async down(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(
+ `ALTER TABLE \`templates\` DROP FOREIGN KEY \`FK_445d00eaaea0e60a017a5ed0c11\``,
+ );
+ await queryRunner.query(
+ `ALTER TABLE \`templates\` ADD CONSTRAINT \`FK_445d00eaaea0e60a017a5ed0c11\` FOREIGN KEY (\`source_guild_id\`) REFERENCES \`guilds\`(\`id\`) ON DELETE NO ACTION ON UPDATE NO ACTION`,
+ );
+ }
+}
diff --git a/src/util/migration/postgresql/1673609867556-templateDeleteCascade.ts b/src/util/migration/postgresql/1673609867556-templateDeleteCascade.ts
new file mode 100644
index 00000000..fdfbc05c
--- /dev/null
+++ b/src/util/migration/postgresql/1673609867556-templateDeleteCascade.ts
@@ -0,0 +1,23 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+
+export class templateDeleteCascade1673609867556 implements MigrationInterface {
+ name = "templateDeleteCascade1673609867556";
+
+ public async up(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(
+ `ALTER TABLE "templates" DROP CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11"`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE "templates" ADD CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" FOREIGN KEY ("source_guild_id") REFERENCES "guilds"("id") ON DELETE CASCADE ON UPDATE NO ACTION`,
+ );
+ }
+
+ public async down(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(
+ `ALTER TABLE "templates" DROP CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11"`,
+ );
+ await queryRunner.query(
+ `ALTER TABLE "templates" ADD CONSTRAINT "FK_445d00eaaea0e60a017a5ed0c11" FOREIGN KEY ("source_guild_id") REFERENCES "guilds"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
+ );
+ }
+}
|