diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 2eced294..5058a2d1 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -270,7 +270,9 @@ "Bash(set:*)", "Bash(npx prisma migrate:*)", "Bash($env:DATABASE_URL=\"postgresql://postgres:password@localhost:5432/rwa_identity?schema=public\")", - "Bash(docker cp:*)" + "Bash(docker cp:*)", + "Bash(timeout 120 docker compose:*)", + "Bash(docker network create:*)" ], "deny": [], "ask": [] diff --git a/backend/services/identity-service/Dockerfile b/backend/services/identity-service/Dockerfile index 0a269ab0..ae83b5f9 100644 --- a/backend/services/identity-service/Dockerfile +++ b/backend/services/identity-service/Dockerfile @@ -58,7 +58,14 @@ COPY --from=builder /app/dist ./dist RUN echo '#!/bin/sh\n\ set -e\n\ echo "Running database migrations..."\n\ -npx prisma migrate deploy\n\ +# First try to run migrations normally\n\ +if ! npx prisma migrate deploy 2>&1; then\n\ + echo "Migration failed, attempting to resolve..."\n\ + # Try to mark failed migrations as rolled back and retry\n\ + npx prisma migrate resolve --rolled-back 20251220070000_add_system_seed_user 2>&1 || true\n\ + echo "Retrying migrations..."\n\ + npx prisma migrate deploy\n\ +fi\n\ echo "Running database seed..."\n\ npx prisma db seed || echo "Seed completed (or already seeded)"\n\ echo "Starting application..."\n\ diff --git a/backend/services/identity-service/prisma/migrations/20251220070000_add_system_seed_user/README.md b/backend/services/identity-service/prisma/migrations/20251220070000_add_system_seed_user/README.md deleted file mode 100644 index 88168011..00000000 --- a/backend/services/identity-service/prisma/migrations/20251220070000_add_system_seed_user/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# 系统种子用户 Migration - -## 目的 - -创建一个系统种子用户,用作根推荐人,解决"第一个用户无法注册"的问题。 - -## 种子用户信息 - -- **User ID**: `1` (固定ID) -- **Account Sequence**: `SYSTEM00001` -- **推荐码**: `GENESIS` -- **昵称**: `系统` -- **状态**: ACTIVE -- **手机号**: NULL(系统用户不需要手机号) - -## 使用方式 - -第一批用户在注册时,使用推荐码 **GENESIS** 即可完成注册。 - -## 特点 - -1. ✅ 保持了推荐码必填的业务逻辑 -2. ✅ 所有用户都有完整的推荐关系链 -3. ✅ 系统用户只提供推荐码功能,不参与其他业务 -4. ✅ 使用固定 UUID,方便识别和管理 - -## 注意事项 - -- 此用户不应该被删除 -- 此用户不能登录(没有手机号和密码) -- 此用户的推荐码 `GENESIS` 可以被无限次使用