From 451aa8fae8d9f0c2ad74f83846c64e205b32be35 Mon Sep 17 00:00:00 2001 From: Developer Date: Tue, 2 Dec 2025 10:03:03 -0800 Subject: [PATCH] =?UTF-8?q?feat(mpc-service):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E6=95=B0=E6=8D=AE=E5=BA=93=20migration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 创建 party_shares 和 signing_sessions 表及索引 修复健康检查失败问题(缺少数据库表) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../20250102000000_init/migration.sql | 51 +++++++++++++++++++ .../prisma/migrations/migration_lock.toml | 2 + 2 files changed, 53 insertions(+) create mode 100644 backend/services/mpc-service/prisma/migrations/20250102000000_init/migration.sql create mode 100644 backend/services/mpc-service/prisma/migrations/migration_lock.toml diff --git a/backend/services/mpc-service/prisma/migrations/20250102000000_init/migration.sql b/backend/services/mpc-service/prisma/migrations/20250102000000_init/migration.sql new file mode 100644 index 00000000..92e4b146 --- /dev/null +++ b/backend/services/mpc-service/prisma/migrations/20250102000000_init/migration.sql @@ -0,0 +1,51 @@ +-- CreateTable +CREATE TABLE "party_shares" ( + "id" VARCHAR(255) NOT NULL, + "party_id" VARCHAR(255) NOT NULL, + "session_id" VARCHAR(255) NOT NULL, + "share_type" VARCHAR(20) NOT NULL, + "share_data" TEXT NOT NULL, + "public_key" TEXT NOT NULL, + "threshold_n" INTEGER NOT NULL, + "threshold_t" INTEGER NOT NULL, + "status" VARCHAR(20) NOT NULL DEFAULT 'active', + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + "last_used_at" TIMESTAMP(3), + + CONSTRAINT "party_shares_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "signing_sessions" ( + "id" VARCHAR(255) NOT NULL, + "party_id" VARCHAR(255) NOT NULL, + "session_id" VARCHAR(255) NOT NULL, + "message_hash" VARCHAR(255) NOT NULL, + "signature" TEXT, + "status" VARCHAR(20) NOT NULL DEFAULT 'pending', + "error_message" TEXT, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + "completed_at" TIMESTAMP(3), + + CONSTRAINT "signing_sessions_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "party_shares_party_id_idx" ON "party_shares"("party_id"); + +-- CreateIndex +CREATE INDEX "party_shares_session_id_idx" ON "party_shares"("session_id"); + +-- CreateIndex +CREATE INDEX "party_shares_status_idx" ON "party_shares"("status"); + +-- CreateIndex +CREATE INDEX "signing_sessions_party_id_idx" ON "signing_sessions"("party_id"); + +-- CreateIndex +CREATE INDEX "signing_sessions_session_id_idx" ON "signing_sessions"("session_id"); + +-- CreateIndex +CREATE INDEX "signing_sessions_status_idx" ON "signing_sessions"("status"); diff --git a/backend/services/mpc-service/prisma/migrations/migration_lock.toml b/backend/services/mpc-service/prisma/migrations/migration_lock.toml new file mode 100644 index 00000000..8affd027 --- /dev/null +++ b/backend/services/mpc-service/prisma/migrations/migration_lock.toml @@ -0,0 +1,2 @@ +# Prisma Migrate lockfile v1 +provider = "postgresql"