Browse Source

Change fileSizeInByte to bigint from int to handle large size (#534)

Alex 2 năm trước cách đây
mục cha
commit
4596a8ee01

+ 1 - 1
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 })

+ 10 - 13
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<void> {
-        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<void> {
-        // 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<void> {
+    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<void> {
+    await queryRunner.query(`ALTER TABLE "exif" DROP COLUMN "fps"`);
+    await queryRunner.query(`ALTER TABLE "exif" DROP COLUMN "description"`);
+  }
 }

+ 14 - 0
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<void> {
+    await queryRunner.query(`
+      ALTER TABLE exif
+      ALTER COLUMN "fileSizeInByte" type bigint using "fileSizeInByte"::bigint;
+    `);
+  }
+
+  public async down(queryRunner: QueryRunner): Promise<void> {}
+}