From 9715844eae3b92f9a2df827195ca6e99ac3fefba Mon Sep 17 00:00:00 2001 From: goddonebianu Date: Tue, 6 Jan 2026 19:23:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=BD=E6=9D=BE=E5=8C=96pairs=E8=A1=A8?= =?UTF-8?q?=E7=BA=A6=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration.sql | 11 +++++++++++ prisma/schema.prisma | 2 +- src/lib/server/services/types.ts | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 prisma/migrations/20260106112014_relax_unique_constraint_on_pairs/migration.sql diff --git a/prisma/migrations/20260106112014_relax_unique_constraint_on_pairs/migration.sql b/prisma/migrations/20260106112014_relax_unique_constraint_on_pairs/migration.sql new file mode 100644 index 0000000..c16b32f --- /dev/null +++ b/prisma/migrations/20260106112014_relax_unique_constraint_on_pairs/migration.sql @@ -0,0 +1,11 @@ +/* + Warnings: + + - A unique constraint covering the columns `[folder_id,language1,language2,text1,text2]` on the table `pairs` will be added. If there are existing duplicate values, this will fail. + +*/ +-- DropIndex +DROP INDEX "pairs_folder_id_language1_language2_text1_key"; + +-- CreateIndex +CREATE UNIQUE INDEX "pairs_folder_id_language1_language2_text1_text2_key" ON "pairs"("folder_id", "language1", "language2", "text1", "text2"); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index a04b695..4a603c2 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -87,7 +87,7 @@ model Pair { folder Folder @relation(fields: [folderId], references: [id], onDelete: Cascade) - @@unique([folderId, language1, language2, text1]) + @@unique([folderId, language1, language2, text1, text2]) @@index([folderId]) @@map("pairs") } diff --git a/src/lib/server/services/types.ts b/src/lib/server/services/types.ts index 55a345f..0094ca2 100644 --- a/src/lib/server/services/types.ts +++ b/src/lib/server/services/types.ts @@ -38,7 +38,7 @@ export interface UpdatePairInput { export interface CreateTranslationHistoryInput { userId?: string; sourceText: string; - sourceLanguage?: string; + sourceLanguage: string; targetLanguage: string; translatedText: string; sourceIpa?: string;