From 4596a8ee010f28e5d46e3fe12e288361b87df1c4 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 26 Aug 2022 09:07:59 -0700 Subject: [PATCH] Change fileSizeInByte to bigint from int to handle large size (#534) --- .../libs/database/src/entities/exif.entity.ts | 2 +- .../migrations/1661011331242-AddCaption.ts | 23 ++++++++----------- ...919411-ChangeExifFileSizeInByteToBigInt.ts | 14 +++++++++++ 3 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 server/libs/database/src/migrations/1661528919411-ChangeExifFileSizeInByteToBigInt.ts diff --git a/server/libs/database/src/entities/exif.entity.ts b/server/libs/database/src/entities/exif.entity.ts index 0bd3b06e2a..6a013f81a9 100644 --- a/server/libs/database/src/entities/exif.entity.ts +++ b/server/libs/database/src/entities/exif.entity.ts @@ -23,7 +23,7 @@ export class ExifEntity { @Column({ type: 'integer', nullable: true }) exifImageHeight!: number | null; - @Column({ type: 'integer', nullable: true }) + @Column({ type: 'bigint', nullable: true }) fileSizeInByte!: number | null; @Column({ type: 'varchar', nullable: true }) diff --git a/server/libs/database/src/migrations/1661011331242-AddCaption.ts b/server/libs/database/src/migrations/1661011331242-AddCaption.ts index b1d0566e64..f6370a7b66 100644 --- a/server/libs/database/src/migrations/1661011331242-AddCaption.ts +++ b/server/libs/database/src/migrations/1661011331242-AddCaption.ts @@ -1,18 +1,15 @@ -import { MigrationInterface, QueryRunner } from "typeorm"; +import { MigrationInterface, QueryRunner } from 'typeorm'; export class AddCaption1661011331242 implements MigrationInterface { - name = 'AddCaption1661011331242' + name = 'AddCaption1661011331242'; - public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "exif" ADD "description" text DEFAULT ''`); - await queryRunner.query(`ALTER TABLE "exif" ADD "fps" double precision`); - // await queryRunner.query(`ALTER TABLE "exif" ALTER COLUMN "exifTextSearchableColumn" SET NOT NULL`); - } - - public async down(queryRunner: QueryRunner): Promise { - // await queryRunner.query(`ALTER TABLE "exif" ALTER COLUMN "exifTextSearchableColumn" DROP NOT NULL`); - await queryRunner.query(`ALTER TABLE "exif" DROP COLUMN "fps"`); - await queryRunner.query(`ALTER TABLE "exif" DROP COLUMN "description"`); - } + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "exif" ADD "description" text DEFAULT ''`); + await queryRunner.query(`ALTER TABLE "exif" ADD "fps" double precision`); + } + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "exif" DROP COLUMN "fps"`); + await queryRunner.query(`ALTER TABLE "exif" DROP COLUMN "description"`); + } } diff --git a/server/libs/database/src/migrations/1661528919411-ChangeExifFileSizeInByteToBigInt.ts b/server/libs/database/src/migrations/1661528919411-ChangeExifFileSizeInByteToBigInt.ts new file mode 100644 index 0000000000..19684bc8e7 --- /dev/null +++ b/server/libs/database/src/migrations/1661528919411-ChangeExifFileSizeInByteToBigInt.ts @@ -0,0 +1,14 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class ChangeExifFileSizeInByteToBigInt1661528919411 implements MigrationInterface { + name = 'ChangeExifFileSizeInByteToBigInt1661528919411'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + ALTER TABLE exif + ALTER COLUMN "fileSizeInByte" type bigint using "fileSizeInByte"::bigint; + `); + } + + public async down(queryRunner: QueryRunner): Promise {} +}