diff --git a/packages/backend/migration/1731910422761-rename-activity-log-indexes.js b/packages/backend/migration/1731910422761-rename-activity-log-indexes.js new file mode 100644 index 0000000000..82d5a796e9 --- /dev/null +++ b/packages/backend/migration/1731910422761-rename-activity-log-indexes.js @@ -0,0 +1,16 @@ +/* + * SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export class RenameActivityLogIndexes1731910422761 { + name = 'RenameActivityLogIndexes1731910422761' + + async up(queryRunner) { + await queryRunner.query(`DROP INDEX "public"."IDK_activity_context_md5"`); + } + + async down(queryRunner) { + await queryRunner.query(`CREATE INDEX "IDK_activity_context_md5" ON "activity_context" ("md5") `); + } +} diff --git a/packages/backend/src/models/SkActivityContext.ts b/packages/backend/src/models/SkActivityContext.ts index 9fdd0a9525..349c3e7113 100644 --- a/packages/backend/src/models/SkActivityContext.ts +++ b/packages/backend/src/models/SkActivityContext.ts @@ -3,12 +3,13 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { Column, PrimaryColumn, Entity, Index } from 'typeorm'; +import { Column, PrimaryColumn, Entity } from 'typeorm'; @Entity('activity_context') export class SkActivityContext { - @PrimaryColumn('text') - @Index() + @PrimaryColumn('text', { + primaryKeyConstraintName: 'PK_activity_context', + }) public md5: string; @Column('jsonb') diff --git a/packages/backend/src/models/SkActivityLog.ts b/packages/backend/src/models/SkActivityLog.ts index 229c333588..f23c0708b9 100644 --- a/packages/backend/src/models/SkActivityLog.ts +++ b/packages/backend/src/models/SkActivityLog.ts @@ -10,10 +10,13 @@ import { id } from './util/id.js'; @Entity('activity_log') export class SkActivityLog { - @PrimaryColumn(id()) + @PrimaryColumn({ + ...id(), + primaryKeyConstraintName: 'PK_activity_log', + }) public id: string; - @Index() + @Index('IDX_activity_log_at') @Column('timestamptz') public at: Date; @@ -23,7 +26,7 @@ export class SkActivityLog { }) public keyId: string; - @Index() + @Index('IDX_activity_log_host') @Column('text') public host: string; @@ -54,12 +57,12 @@ export class SkActivityLog { }) @JoinColumn({ name: 'context_hash', + foreignKeyConstraintName: 'FK_activity_log_context_hash', }) public context: SkActivityContext | null; @Column({ - type: 'varchar' as const, - length: 32, + ...id(), name: 'auth_user_id', nullable: true, }) @@ -71,6 +74,7 @@ export class SkActivityLog { }) @JoinColumn({ name: 'auth_user_id', + foreignKeyConstraintName: 'FK_activity_log_auth_user_id', }) public authUser: MiUser | null;