From e90ac5d6a4d24ded77ab5608392e5b17b39b01a2 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 16 Apr 2019 17:52:09 +0900 Subject: チャートの数値カラムの型を拡張 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/chart/core.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/services') diff --git a/src/services/chart/core.ts b/src/services/chart/core.ts index 0a9ec8dae0..fe762f2b24 100644 --- a/src/services/chart/core.ts +++ b/src/services/chart/core.ts @@ -79,7 +79,7 @@ export default abstract class Chart> { flatColumns(v.properties, p); } else { columns[this.columnPrefix + p] = { - type: 'integer', + type: 'bigint', }; } } -- cgit v1.2.3-freya From e265b538cc96b10b2ffc98c15227ab097cf4744b Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:11:22 +0900 Subject: Fix #4724 --- src/models/entities/note.ts | 2 ++ src/services/drive/delete-file.ts | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/services') diff --git a/src/models/entities/note.ts b/src/models/entities/note.ts index 969363da3b..280f3dfcb8 100644 --- a/src/models/entities/note.ts +++ b/src/models/entities/note.ts @@ -129,12 +129,14 @@ export class Note { }) public score: number; + @Index() @Column({ ...id(), array: true, default: '{}' }) public fileIds: DriveFile['id'][]; + @Index() @Column('varchar', { length: 256, array: true, default: '{}' }) diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts index bba453b982..1aba0d5fd8 100644 --- a/src/services/drive/delete-file.ts +++ b/src/services/drive/delete-file.ts @@ -2,7 +2,7 @@ import * as Minio from 'minio'; import config from '../../config'; import { DriveFile } from '../../models/entities/drive-file'; import { InternalStorage } from './internal-storage'; -import { DriveFiles, Instances } from '../../models'; +import { DriveFiles, Instances, Notes } from '../../models'; import { driveChart, perUserDriveChart, instanceChart } from '../chart'; export default async function(file: DriveFile, isExpired = false) { @@ -40,6 +40,11 @@ export default async function(file: DriveFile, isExpired = false) { }); } else { DriveFiles.delete(file.id); + + // TODO: トランザクション + Notes.createQueryBuilder('note').delete() + .andWhere(':id = ANY(note.fileIds)', { id: file.id }) + .execute(); } // 統計を更新 -- cgit v1.2.3-freya From bcb1a9c5d3378082346d0f1db725825c73e8b627 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:19:49 +0900 Subject: Refactor --- src/services/drive/delete-file.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/services') diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts index 1aba0d5fd8..61cac6183f 100644 --- a/src/services/drive/delete-file.ts +++ b/src/services/drive/delete-file.ts @@ -43,7 +43,7 @@ export default async function(file: DriveFile, isExpired = false) { // TODO: トランザクション Notes.createQueryBuilder('note').delete() - .andWhere(':id = ANY(note.fileIds)', { id: file.id }) + .where(':id = ANY(note.fileIds)', { id: file.id }) .execute(); } -- cgit v1.2.3-freya From f38ab0b973dfc0734740f80dbb033208ce11eeb9 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:37:37 +0900 Subject: Update delete-file.ts --- src/services/drive/delete-file.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/services') diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts index 61cac6183f..f1280822a4 100644 --- a/src/services/drive/delete-file.ts +++ b/src/services/drive/delete-file.ts @@ -42,8 +42,8 @@ export default async function(file: DriveFile, isExpired = false) { DriveFiles.delete(file.id); // TODO: トランザクション - Notes.createQueryBuilder('note').delete() - .where(':id = ANY(note.fileIds)', { id: file.id }) + Notes.createQueryBuilder().delete() + .where(':id = ANY(fileIds)', { id: file.id }) .execute(); } -- cgit v1.2.3-freya