From 9dee0d36a525cf5327d7b6a88a20d10c2bbb1b1a Mon Sep 17 00:00:00 2001 From: Developer Date: Thu, 4 Dec 2025 04:01:47 -0800 Subject: [PATCH] =?UTF-8?q?feat(backup,mpc):=20=E6=B7=BB=E5=8A=A0=20prisma?= =?UTF-8?q?=20=E8=BF=81=E7=A7=BB=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit backup-service 和 mpc-service 缺少 prisma/migrations 目录 导致 prisma migrate deploy 无法执行 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../20241204000000_init/migration.sql | 65 +++++++++++++++ .../prisma/migrations/migration_lock.toml | 3 + .../20241204000000_init/migration.sql | 82 +++++++++++++++++++ .../prisma/migrations/migration_lock.toml | 3 + 4 files changed, 153 insertions(+) create mode 100644 backend/services/backup-service/prisma/migrations/20241204000000_init/migration.sql create mode 100644 backend/services/backup-service/prisma/migrations/migration_lock.toml create mode 100644 backend/services/mpc-service/prisma/migrations/20241204000000_init/migration.sql create mode 100644 backend/services/mpc-service/prisma/migrations/migration_lock.toml diff --git a/backend/services/backup-service/prisma/migrations/20241204000000_init/migration.sql b/backend/services/backup-service/prisma/migrations/20241204000000_init/migration.sql new file mode 100644 index 00000000..7b88723d --- /dev/null +++ b/backend/services/backup-service/prisma/migrations/20241204000000_init/migration.sql @@ -0,0 +1,65 @@ +-- CreateTable +CREATE TABLE "backup_shares" ( + "share_id" BIGSERIAL NOT NULL, + "user_id" BIGINT NOT NULL, + "account_sequence" BIGINT NOT NULL, + "public_key" VARCHAR(130) NOT NULL, + "party_index" INTEGER NOT NULL DEFAULT 2, + "threshold" INTEGER NOT NULL DEFAULT 2, + "total_parties" INTEGER NOT NULL DEFAULT 3, + "encrypted_share_data" TEXT NOT NULL, + "encryption_key_id" VARCHAR(64) NOT NULL, + "status" VARCHAR(20) NOT NULL DEFAULT 'ACTIVE', + "access_count" INTEGER NOT NULL DEFAULT 0, + "last_accessed_at" TIMESTAMP(3), + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3) NOT NULL, + "revoked_at" TIMESTAMP(3), + + CONSTRAINT "backup_shares_pkey" PRIMARY KEY ("share_id") +); + +-- CreateTable +CREATE TABLE "share_access_logs" ( + "log_id" BIGSERIAL NOT NULL, + "share_id" BIGINT NOT NULL, + "user_id" BIGINT NOT NULL, + "action" VARCHAR(20) NOT NULL, + "source_service" VARCHAR(50) NOT NULL, + "source_ip" VARCHAR(45) NOT NULL, + "success" BOOLEAN NOT NULL DEFAULT true, + "error_message" TEXT, + "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "share_access_logs_pkey" PRIMARY KEY ("log_id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "backup_shares_user_id_key" ON "backup_shares"("user_id"); + +-- CreateIndex +CREATE UNIQUE INDEX "backup_shares_account_sequence_key" ON "backup_shares"("account_sequence"); + +-- CreateIndex +CREATE UNIQUE INDEX "backup_shares_public_key_key" ON "backup_shares"("public_key"); + +-- CreateIndex +CREATE INDEX "idx_backup_public_key" ON "backup_shares"("public_key"); + +-- CreateIndex +CREATE INDEX "idx_backup_status" ON "backup_shares"("status"); + +-- CreateIndex +CREATE INDEX "idx_backup_created" ON "backup_shares"("created_at"); + +-- CreateIndex +CREATE INDEX "idx_log_share" ON "share_access_logs"("share_id"); + +-- CreateIndex +CREATE INDEX "idx_log_user" ON "share_access_logs"("user_id"); + +-- CreateIndex +CREATE INDEX "idx_log_action" ON "share_access_logs"("action"); + +-- CreateIndex +CREATE INDEX "idx_log_created" ON "share_access_logs"("created_at"); diff --git a/backend/services/backup-service/prisma/migrations/migration_lock.toml b/backend/services/backup-service/prisma/migrations/migration_lock.toml new file mode 100644 index 00000000..99e4f200 --- /dev/null +++ b/backend/services/backup-service/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" diff --git a/backend/services/mpc-service/prisma/migrations/20241204000000_init/migration.sql b/backend/services/mpc-service/prisma/migrations/20241204000000_init/migration.sql new file mode 100644 index 00000000..1ccdeba3 --- /dev/null +++ b/backend/services/mpc-service/prisma/migrations/20241204000000_init/migration.sql @@ -0,0 +1,82 @@ +-- 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 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 "party_shares_party_id_session_id_key" ON "party_shares"("party_id", "session_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 UNIQUE INDEX "session_states_session_id_party_id_key" ON "session_states"("session_id", "party_id"); + +-- CreateIndex +CREATE INDEX "idx_share_id" ON "share_backups"("share_id"); + +-- CreateIndex +CREATE INDEX "idx_created_at" ON "share_backups"("created_at"); + 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..99e4f200 --- /dev/null +++ b/backend/services/mpc-service/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql"