summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-07-03 15:40:17 +0200
committerRory& <root@rory.gay>2026-07-03 15:40:17 +0200
commit635ae3c749de7b723640561b8b7b92d0766bd6a8 (patch)
tree088c42db2303ba0ae798e903e079fad597ecf11b
parentFix some missed column types (diff)
downloadserver-ts-635ae3c749de7b723640561b8b7b92d0766bd6a8.tar.xz
Fix column names for join tables
-rw-r--r--src/database/entities/Message.ts56
-rw-r--r--src/database/migration/postgres/1782925307190-NameJoinTableColumns.ts33
2 files changed, 85 insertions, 4 deletions
diff --git a/src/database/entities/Message.ts b/src/database/entities/Message.ts

index edcce494..72d787b4 100644 --- a/src/database/entities/Message.ts +++ b/src/database/entities/Message.ts
@@ -139,20 +139,68 @@ export class Message extends BaseClass { @Column({ nullable: true }) mention_everyone?: boolean; - @JoinTable({ name: "message_user_mentions" }) + @JoinTable({ + name: "message_user_mentions", + joinColumn: { + name: "message_id", + referencedColumnName: "id", + foreignKeyConstraintName: "FK_message_mentions_message_id", + }, + inverseJoinColumn: { + name: "user_id", + referencedColumnName: "id", + foreignKeyConstraintName: "FK_message_mentions_user_id", + }, + }) @ManyToMany(() => User) mentions: User[]; - @JoinTable({ name: "message_role_mentions" }) + @JoinTable({ + name: "message_role_mentions", + joinColumn: { + name: "message_id", + referencedColumnName: "id", + foreignKeyConstraintName: "FK_message_role_mentions_message_id", + }, + inverseJoinColumn: { + name: "role_id", + referencedColumnName: "id", + foreignKeyConstraintName: "FK_message_role_mentions_role_id", + }, + }) @ManyToMany(() => Role) mention_roles: Role[]; - @JoinTable({ name: "message_channel_mentions" }) + @JoinTable({ + name: "message_channel_mentions", + joinColumn: { + name: "message_id", + referencedColumnName: "id", + foreignKeyConstraintName: "FK_message_channel_mentions_message_id", + }, + inverseJoinColumn: { + name: "channel_id", + referencedColumnName: "id", + foreignKeyConstraintName: "FK_message_channel_mentions_channel_id", + }, + }) @ManyToMany(() => Channel) @JsonRemoveEmpty mention_channels: Channel[]; - @JoinTable({ name: "message_stickers" }) + @JoinTable({ + name: "message_stickers", + joinColumn: { + name: "message_id", + referencedColumnName: "id", + foreignKeyConstraintName: "FK_message_stickers_message_id", + }, + inverseJoinColumn: { + name: "sticker_id", + referencedColumnName: "id", + foreignKeyConstraintName: "FK_message_stickers_sticker_id", + }, + }) @ManyToMany(() => Sticker, { cascade: true, onDelete: "CASCADE" }) @JsonRemoveEmpty sticker_items?: Sticker[]; diff --git a/src/database/migration/postgres/1782925307190-NameJoinTableColumns.ts b/src/database/migration/postgres/1782925307190-NameJoinTableColumns.ts new file mode 100644
index 00000000..45106eea --- /dev/null +++ b/src/database/migration/postgres/1782925307190-NameJoinTableColumns.ts
@@ -0,0 +1,33 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class NameJoinTableColumns1782925307190 implements MigrationInterface { + name = "NameJoinTableColumns1782925307190"; + + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`ALTER TABLE message_channel_mentions RENAME COLUMN "messagesId" TO "message_id"`); + await queryRunner.query(`ALTER TABLE message_channel_mentions RENAME COLUMN "channelsId" TO "channel_id"`); + + await queryRunner.query(`ALTER TABLE message_role_mentions RENAME COLUMN "messagesId" TO "message_id"`); + await queryRunner.query(`ALTER TABLE message_role_mentions RENAME COLUMN "rolesId" TO "role_id"`); + + await queryRunner.query(`ALTER TABLE message_stickers RENAME COLUMN "messagesId" TO "message_id"`); + await queryRunner.query(`ALTER TABLE message_stickers RENAME COLUMN "stickersId" TO "sticker_id"`); + + await queryRunner.query(`ALTER TABLE message_user_mentions RENAME COLUMN "messagesId" TO "message_id"`); + await queryRunner.query(`ALTER TABLE message_user_mentions RENAME COLUMN "usersId" TO "user_id"`); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`ALTER TABLE message_channel_mentions RENAME COLUMN "message_id" TO "messagesId"`); + await queryRunner.query(`ALTER TABLE message_channel_mentions RENAME COLUMN "channel_id" TO "channelsId"`); + + await queryRunner.query(`ALTER TABLE message_role_mentions RENAME COLUMN "message_id" TO "messagesId"`); + await queryRunner.query(`ALTER TABLE message_role_mentions RENAME COLUMN "role_id" TO "rolesId"`); + + await queryRunner.query(`ALTER TABLE message_stickers RENAME COLUMN "message_id" TO "messagesId"`); + await queryRunner.query(`ALTER TABLE message_stickers RENAME COLUMN "sticker_id" TO "stickersId"`); + + await queryRunner.query(`ALTER TABLE message_user_mentions RENAME COLUMN "message_id" TO "messagesId"`); + await queryRunner.query(`ALTER TABLE message_user_mentions RENAME COLUMN "user_id" TO "usersId"`); + } +}