From 122bf84c2412a68840dd7db872f62f02c4dbfeb6 Mon Sep 17 00:00:00 2001 From: Developer Date: Wed, 3 Dec 2025 21:32:36 -0800 Subject: [PATCH] =?UTF-8?q?fix(mpc-service):=20=E4=BF=AE=E5=A4=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=BF=81=E7=A7=BB=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E7=9A=84=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit migration.sql 与 schema.prisma 不同步,缺失以下表: - session_states: 会话状态跟踪表 - share_backups: 分片备份表 同时修复了索引名称以匹配 schema 定义。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../20250102000000_init/migration.sql | 58 ++++++++++++++----- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/backend/services/mpc-service/prisma/migrations/20250102000000_init/migration.sql b/backend/services/mpc-service/prisma/migrations/20250102000000_init/migration.sql index 92e4b146..4cf1aa36 100644 --- a/backend/services/mpc-service/prisma/migrations/20250102000000_init/migration.sql +++ b/backend/services/mpc-service/prisma/migrations/20250102000000_init/migration.sql @@ -17,35 +17,65 @@ CREATE TABLE "party_shares" ( ); -- CreateTable -CREATE TABLE "signing_sessions" ( +CREATE TABLE "session_states" ( "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', + "party_id" VARCHAR(255) NOT NULL, + "party_index" INTEGER NOT NULL, + "session_type" VARCHAR(20) NOT NULL, + "participants" TEXT NOT NULL, + "threshold_n" INTEGER NOT NULL, + "threshold_t" INTEGER NOT NULL, + "status" VARCHAR(20) NOT NULL, + "current_round" INTEGER NOT NULL DEFAULT 0, "error_message" TEXT, - "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updated_at" TIMESTAMP(3) NOT NULL, + "public_key" TEXT, + "message_hash" VARCHAR(66), + "signature" TEXT, + "started_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "completed_at" TIMESTAMP(3), - CONSTRAINT "signing_sessions_pkey" PRIMARY KEY ("id") + CONSTRAINT "session_states_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "share_backups" ( + "id" VARCHAR(255) NOT NULL, + "share_id" VARCHAR(255) NOT NULL, + "backup_data" TEXT NOT NULL, + "backup_type" VARCHAR(20) NOT NULL, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "created_by" VARCHAR(255), + + CONSTRAINT "share_backups_pkey" PRIMARY KEY ("id") ); -- CreateIndex -CREATE INDEX "party_shares_party_id_idx" ON "party_shares"("party_id"); +CREATE UNIQUE INDEX "uk_party_session" ON "party_shares"("party_id", "session_id"); -- CreateIndex -CREATE INDEX "party_shares_session_id_idx" ON "party_shares"("session_id"); +CREATE INDEX "idx_ps_party_id" ON "party_shares"("party_id"); -- CreateIndex -CREATE INDEX "party_shares_status_idx" ON "party_shares"("status"); +CREATE INDEX "idx_ps_session_id" ON "party_shares"("session_id"); -- CreateIndex -CREATE INDEX "signing_sessions_party_id_idx" ON "signing_sessions"("party_id"); +CREATE INDEX "idx_ps_status" ON "party_shares"("status"); -- CreateIndex -CREATE INDEX "signing_sessions_session_id_idx" ON "signing_sessions"("session_id"); +CREATE UNIQUE INDEX "uk_session_party" ON "session_states"("session_id", "party_id"); -- CreateIndex -CREATE INDEX "signing_sessions_status_idx" ON "signing_sessions"("status"); +CREATE INDEX "idx_ss_session_id" ON "session_states"("session_id"); + +-- CreateIndex +CREATE INDEX "idx_ss_party_id" ON "session_states"("party_id"); + +-- CreateIndex +CREATE INDEX "idx_ss_status" ON "session_states"("status"); + +-- CreateIndex +CREATE INDEX "idx_share_id" ON "share_backups"("share_id"); + +-- CreateIndex +CREATE INDEX "idx_created_at" ON "share_backups"("created_at");