fix(mpc-service): 使用 prisma db push 自动同步数据库 schema

- 容器启动时执行 prisma db push 自动创建/同步表结构
- 删除 migrations 目录,不再使用 migrate 机制
- 这是标准做法:schema.prisma 定义表结构,db push 同步到数据库

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Developer 2025-12-03 21:56:30 -08:00
parent 8850ea6ab0
commit 9363e4991f
3 changed files with 4 additions and 88 deletions

View File

@ -2,12 +2,12 @@
set -e
echo "=== MPC Service Starting ==="
echo "Running database migrations..."
echo "Syncing database schema..."
# Run Prisma migrations
npx prisma migrate deploy
# Sync database schema (create tables if not exist)
npx prisma db push --accept-data-loss
echo "Migrations completed successfully"
echo "Database schema synced"
echo "Starting application..."
# Start the application

View File

@ -1,81 +0,0 @@
-- 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 "session_states" (
"id" VARCHAR(255) NOT NULL,
"session_id" VARCHAR(255) NOT NULL,
"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,
"public_key" TEXT,
"message_hash" VARCHAR(66),
"signature" TEXT,
"started_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"completed_at" TIMESTAMP(3),
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 UNIQUE INDEX "uk_party_session" ON "party_shares"("party_id", "session_id");
-- CreateIndex
CREATE INDEX "idx_ps_party_id" ON "party_shares"("party_id");
-- CreateIndex
CREATE INDEX "idx_ps_session_id" ON "party_shares"("session_id");
-- CreateIndex
CREATE INDEX "idx_ps_status" ON "party_shares"("status");
-- CreateIndex
CREATE UNIQUE INDEX "uk_session_party" ON "session_states"("session_id", "party_id");
-- CreateIndex
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");

View File

@ -1,3 +0,0 @@
# Please do not edit this file manually
# It should be added in your version-control system (i.e. Git)
provider = "postgresql"