From a2e8ddebcac088559ea5e26f6cf76e44dbfa2871 Mon Sep 17 00:00:00 2001 From: tone Date: Sat, 27 Dec 2025 12:26:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=9A=E5=AE=A2=E6=B7=BB=E5=8A=A0slu?= =?UTF-8?q?g=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/backend/src/blog/entity/Blog.entity.ts | 3 +++ .../migrations/1766809565876-AddSlugToBlog.ts | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 apps/backend/src/migrations/1766809565876-AddSlugToBlog.ts diff --git a/apps/backend/src/blog/entity/Blog.entity.ts b/apps/backend/src/blog/entity/Blog.entity.ts index a3b385e..65f000a 100644 --- a/apps/backend/src/blog/entity/Blog.entity.ts +++ b/apps/backend/src/blog/entity/Blog.entity.ts @@ -16,6 +16,9 @@ export class Blog { @PrimaryGeneratedColumn('uuid') id: string; + @Column({ unique: true, nullable: true }) + slug: string; + @Column() title: string; diff --git a/apps/backend/src/migrations/1766809565876-AddSlugToBlog.ts b/apps/backend/src/migrations/1766809565876-AddSlugToBlog.ts new file mode 100644 index 0000000..56ef2c4 --- /dev/null +++ b/apps/backend/src/migrations/1766809565876-AddSlugToBlog.ts @@ -0,0 +1,16 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class AddSlugToBlog1766809565876 implements MigrationInterface { + name = 'AddSlugToBlog1766809565876' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "blog" ADD "slug" character varying`); + await queryRunner.query(`ALTER TABLE "blog" ADD CONSTRAINT "UQ_0dc7e58d73a1390874a663bd599" UNIQUE ("slug")`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "blog" DROP CONSTRAINT "UQ_0dc7e58d73a1390874a663bd599"`); + await queryRunner.query(`ALTER TABLE "blog" DROP COLUMN "slug"`); + } + +}