From 2f50232cf34a82124b57bde90b65b2bf7298650f Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Mon, 9 Nov 2020 20:11:33 +0200 Subject: [PATCH] Fix TypeORM errors for nullable fields For fields with '| null' in the TS type, the column type needs to be specified explicitly in column options when using MySQL. See: https://github.com/typeorm/typeorm/issues/1358#issuecomment-391736766 --- backend/src/data/entities/AllowedGuild.ts | 2 +- backend/src/data/entities/ArchiveEntry.ts | 2 +- backend/src/data/entities/Case.ts | 12 ++++++------ backend/src/data/entities/Mute.ts | 2 +- backend/src/data/entities/ScheduledPost.ts | 8 ++++---- backend/src/data/entities/Supporter.ts | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/backend/src/data/entities/AllowedGuild.ts b/backend/src/data/entities/AllowedGuild.ts index c8de9edd..129603ac 100644 --- a/backend/src/data/entities/AllowedGuild.ts +++ b/backend/src/data/entities/AllowedGuild.ts @@ -9,7 +9,7 @@ export class AllowedGuild { @Column() name: string; - @Column({ nullable: true }) + @Column({ type: String, nullable: true }) icon: string | null; @Column() diff --git a/backend/src/data/entities/ArchiveEntry.ts b/backend/src/data/entities/ArchiveEntry.ts index 7ab37bd6..639ef9bb 100644 --- a/backend/src/data/entities/ArchiveEntry.ts +++ b/backend/src/data/entities/ArchiveEntry.ts @@ -17,5 +17,5 @@ export class ArchiveEntry { @Column() created_at: string; - @Column({ nullable: true }) expires_at: string | null; + @Column({ type: String, nullable: true }) expires_at: string | null; } diff --git a/backend/src/data/entities/Case.ts b/backend/src/data/entities/Case.ts index 9972c5e9..f8980b33 100644 --- a/backend/src/data/entities/Case.ts +++ b/backend/src/data/entities/Case.ts @@ -13,27 +13,27 @@ export class Case { @Column() user_name: string; - @Column({ nullable: true }) mod_id: string | null; + @Column({ type: String, nullable: true }) mod_id: string | null; - @Column({ nullable: true }) mod_name: string | null; + @Column({ type: String, nullable: true }) mod_name: string | null; @Column() type: number; - @Column({ nullable: true }) audit_log_id: string | null; + @Column({ type: String, nullable: true }) audit_log_id: string | null; @Column() created_at: string; @Column() is_hidden: boolean; - @Column({ nullable: true }) pp_id: string | null; + @Column({ type: String, nullable: true }) pp_id: string | null; - @Column({ nullable: true }) pp_name: string | null; + @Column({ type: String, nullable: true }) pp_name: string | null; /** * ID of the channel and message where this case was logged. * Format: "channelid-messageid" */ - @Column({ nullable: true }) log_message_id: string | null; + @Column({ type: String, nullable: true }) log_message_id: string | null; @OneToMany( type => CaseNote, diff --git a/backend/src/data/entities/Mute.ts b/backend/src/data/entities/Mute.ts index 0f72e5c0..4646645c 100644 --- a/backend/src/data/entities/Mute.ts +++ b/backend/src/data/entities/Mute.ts @@ -12,7 +12,7 @@ export class Mute { @Column() created_at: string; - @Column({ nullable: true }) expires_at: string | null; + @Column({ type: String, nullable: true }) expires_at: string | null; @Column() case_id: number; } diff --git a/backend/src/data/entities/ScheduledPost.ts b/backend/src/data/entities/ScheduledPost.ts index 30920658..0d136045 100644 --- a/backend/src/data/entities/ScheduledPost.ts +++ b/backend/src/data/entities/ScheduledPost.ts @@ -20,16 +20,16 @@ export class ScheduledPost { @Column("simple-json") attachments: Attachment[]; - @Column({ nullable: true }) post_at: string | null; + @Column({ type: String, nullable: true }) post_at: string | null; /** * How often to post the message, in milliseconds */ - @Column({ nullable: true }) repeat_interval: number | null; + @Column({ type: String, nullable: true }) repeat_interval: number | null; - @Column({ nullable: true }) repeat_until: string | null; + @Column({ type: String, nullable: true }) repeat_until: string | null; - @Column({ nullable: true }) repeat_times: number | null; + @Column({ type: String, nullable: true }) repeat_times: number | null; @Column() enable_mentions: boolean; } diff --git a/backend/src/data/entities/Supporter.ts b/backend/src/data/entities/Supporter.ts index bf09acbf..6d2b6432 100644 --- a/backend/src/data/entities/Supporter.ts +++ b/backend/src/data/entities/Supporter.ts @@ -9,6 +9,6 @@ export class Supporter { @Column() name: string; - @Column() + @Column({ type: String, nullable: true }) amount: string | null; }