From ca74829c2dadee9bc4fadc1025415d2e73da26b6 Mon Sep 17 00:00:00 2001 From: pqcqaq <905739777@qq.com> Date: Wed, 16 Oct 2024 23:53:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E5=AD=97=E6=AE=B5=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/Category.ts | 32 ++++++++++++++++++++++---------- src/entities/Essay.ts | 17 ++++++++++++++++- src/entities/EssayLabels.ts | 25 ++++++++++++++++++++++--- src/entities/Label.ts | 14 ++++++++++++++ 4 files changed, 74 insertions(+), 14 deletions(-) diff --git a/src/entities/Category.ts b/src/entities/Category.ts index 682f070..bf1ef4d 100644 --- a/src/entities/Category.ts +++ b/src/entities/Category.ts @@ -1,14 +1,12 @@ -import { - String, -} from 'oak-domain/lib/types/DataType'; -import { EntityDesc, EntityShape } from "oak-domain/lib/types"; +import { String } from 'oak-domain/lib/types/DataType'; +import { EntityDesc, EntityShape } from 'oak-domain/lib/types'; import { Schema as User } from 'oak-general-business/lib/entities/User'; import { Schema as ExtraFile } from 'oak-general-business/lib/entities/ExtraFile'; // Category.ts export interface Schema extends EntityShape { - name: String<32> - description: String<256> + name: String<32>; + description: String<256>; creator: User; images: ExtraFile[]; } @@ -22,7 +20,21 @@ export const entityDesc: EntityDesc = { description: '描述', creator: '创建者', images: '图片', - } - } - } -} \ No newline at end of file + }, + }, + }, + indexes: [ + { + name: 'name_unique', + attributes: [ + { + name: 'name', + }, + ], + config: { + unique: true, + type: 'fulltext', + }, + }, + ], +}; diff --git a/src/entities/Essay.ts b/src/entities/Essay.ts index 4e9139f..e9f65d5 100644 --- a/src/entities/Essay.ts +++ b/src/entities/Essay.ts @@ -73,7 +73,7 @@ export const entityDesc: EntityDesc< withdrawn: '已撤回', }, }, - } + }, }, style: { icon: {}, @@ -85,4 +85,19 @@ export const entityDesc: EntityDesc< }, }, }, + indexes: [ + { + name: 'title_unique', + attributes: [ + { + name: 'title', + }, + ], + config: { + unique: true, + // 索引类型,方便根据标题查找文章 + type: 'fulltext', + }, + }, + ], }; diff --git a/src/entities/EssayLabels.ts b/src/entities/EssayLabels.ts index 015e62c..402b5ad 100644 --- a/src/entities/EssayLabels.ts +++ b/src/entities/EssayLabels.ts @@ -40,7 +40,7 @@ export const entityDesc: EntityDesc = { moveTo: '移动到', moveToFirst: '移动到最前', moveToLast: '移动到最后', - } + }, }, }, style: { @@ -50,6 +50,25 @@ export const entityDesc: EntityDesc = { moveTo: 'arrow-right', moveToFirst: 'arrow-right', moveToLast: 'arrow-right', - } - } + }, + }, + indexes: [ + { + name: 'essay_label_unique', + attributes: [ + { + name: 'essay', + direction: 'ASC', + }, + { + name: 'label', + direction: 'ASC', + }, + ], + config: { + unique: true, + type: 'btree', + }, + }, + ], }; diff --git a/src/entities/Label.ts b/src/entities/Label.ts index 700b12f..8e92ace 100644 --- a/src/entities/Label.ts +++ b/src/entities/Label.ts @@ -39,4 +39,18 @@ export const entityDesc: EntityDesc = { addToEssay: 'tag', }, }, + indexes: [ + { + name: 'name_unique', + attributes: [ + { + name: 'name', + }, + ], + config: { + unique: true, + type: 'fulltext', + }, + }, + ], };