From b934953aca664aeaf1c6e65f2f0e7fce4bddbb42 Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Fri, 11 Apr 2025 08:13:55 +0200 Subject: [PATCH] hotfix: column type of newsletter texts --- src/data-source.ts | 2 + src/entity/club/newsletter/newsletter.ts | 4 +- .../1744351418751-newsletterColumnType.ts | 43 +++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 src/migrations/1744351418751-newsletterColumnType.ts diff --git a/src/data-source.ts b/src/data-source.ts index 8f43314..3976ad9 100644 --- a/src/data-source.ts +++ b/src/data-source.ts @@ -49,6 +49,7 @@ import { BackupAndResetDatabase1738166124200 } from "./migrations/1738166124200- import { CreateSchema1738166167472 } from "./migrations/1738166167472-CreateSchema"; import { TemplatesAndProtocolSort1742549956787 } from "./migrations/1742549956787-templatesAndProtocolSort"; import { QueryToUUID1742922178643 } from "./migrations/1742922178643-queryToUUID"; +import { NewsletterColumnType1744351418751 } from "./migrations/1744351418751-newsletterColumnType"; const dataSource = new DataSource({ type: DB_TYPE as any, @@ -107,6 +108,7 @@ const dataSource = new DataSource({ CreateSchema1738166167472, TemplatesAndProtocolSort1742549956787, QueryToUUID1742922178643, + NewsletterColumnType1744351418751, ], migrationsRun: true, migrationsTransactionMode: "each", diff --git a/src/entity/club/newsletter/newsletter.ts b/src/entity/club/newsletter/newsletter.ts index dcdd971..24258b4 100644 --- a/src/entity/club/newsletter/newsletter.ts +++ b/src/entity/club/newsletter/newsletter.ts @@ -14,13 +14,13 @@ export class newsletter { @Column({ type: "varchar", length: 255, default: "" }) description: string; - @Column({ type: "varchar", length: 255, default: "" }) + @Column({ type: "text", default: "" }) newsletterTitle: string; @Column({ type: "text", default: "" }) newsletterText: string; - @Column({ type: "varchar", length: 255, default: "" }) + @Column({ type: "text", default: "" }) newsletterSignatur: string; @Column({ type: "boolean", default: false }) diff --git a/src/migrations/1744351418751-newsletterColumnType.ts b/src/migrations/1744351418751-newsletterColumnType.ts new file mode 100644 index 0000000..6efacfa --- /dev/null +++ b/src/migrations/1744351418751-newsletterColumnType.ts @@ -0,0 +1,43 @@ +import { MigrationInterface, QueryRunner, TableColumn } from "typeorm"; +import { getDefaultByORM, getTypeByORM } from "./ormHelper"; +import { newsletter } from "../entity/club/newsletter/newsletter"; + +export class NewsletterColumnType1744351418751 implements MigrationInterface { + name = "NewsletterColumnType1744351418751"; + + public async up(queryRunner: QueryRunner): Promise { + let newsletters = await queryRunner.manager.getRepository("newsletter").find(); + + await queryRunner.dropColumn("newsletter", "newsletterTitle"); + await queryRunner.dropColumn("newsletter", "newsletterSignatur"); + + await queryRunner.addColumn( + "newsletter", + new TableColumn({ name: "newsletterTitle", ...getTypeByORM("text"), default: getDefaultByORM("string") }) + ); + await queryRunner.addColumn( + "newsletter", + new TableColumn({ name: "newsletterSignatur", ...getTypeByORM("text"), default: getDefaultByORM("string") }) + ); + + await queryRunner.manager.getRepository("newsletter").save(newsletters); + } + + public async down(queryRunner: QueryRunner): Promise { + let newsletters = await queryRunner.manager.getRepository("newsletter").find(); + + await queryRunner.dropColumn("newsletter", "newsletterTitle"); + await queryRunner.dropColumn("newsletter", "newsletterSignatur"); + + await queryRunner.addColumn( + "newsletter", + new TableColumn({ name: "newsletterTitle", ...getTypeByORM("varchar"), default: getDefaultByORM("string") }) + ); + await queryRunner.addColumn( + "newsletter", + new TableColumn({ name: "newsletterSignatur", ...getTypeByORM("varchar"), default: getDefaultByORM("string") }) + ); + + await queryRunner.manager.getRepository("newsletter").save(newsletters); + } +}