immich/server/src/migrations/1741179334403-MoveHistoryUuidEntityId.ts
Zack Pollard 9922c8de59
fix: storage template failure after re-upload and previous fail (#16611)
fix: storage template breaks when files are re-uploaded after a move failure
2025-03-05 15:00:37 +00:00

27 lines
868 B
TypeScript

import { MigrationInterface, QueryRunner } from 'typeorm';
export class MoveHistoryUuidEntityId1741179334403 implements MigrationInterface {
name = 'MoveHistoryUuidEntityId1741179334403';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "move_history" ALTER COLUMN "entityId" TYPE uuid USING "entityId"::uuid;`);
await queryRunner.query(`delete from "move_history"
where
"move_history"."entityId" not in (
select
"id"
from
"assets"
where
"assets"."id" = "move_history"."entityId"
)
and "move_history"."pathType" = 'original'
`)
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "move_history" ALTER COLUMN "entityId" TYPE character varying`);
}
}