fix: 修复系统种子用户 migration,移除错误的序列重置

问题:
- 之前的 migration (20251220000000) 已经预留了 user_id 1-9 给系统账号
- 并设置序列从 10 开始
- 不应该再次重置序列,否则会覆盖之前的设置

修复:
- 保留使用 user_id = 1(在预留范围内)
- 移除序列重置代码
- 添加注释说明与之前 migration 的关系

这样确保:
 系统账号使用 1-9
 普通用户从 10 开始(之前的设置)
 不会产生 ID 冲突

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-20 21:01:34 -08:00
parent 83a0f6d2f3
commit ac8eb6d38d
1 changed files with 7 additions and 7 deletions

View File

@ -1,8 +1,11 @@
-- CreateSystemSeedUser: 创建系统种子用户作为根推荐人
-- 这个用户只用于提供推荐码,不具备登录和其他功能
--
-- 注意:之前的 migration (20251220000000_set_user_id_sequence_start)
-- 已经预留了 user_id 1-9 给系统账号,所以这里使用 ID 1 是安全的
-- 插入系统种子用户
-- userId: 1 (固定ID)
-- userId: 1 (在预留范围 1-9 内)
-- accountSequence: SYSTEM00001 (系统账号标识)
-- referralCode: GENESIS (创世推荐码)
-- nickname: 系统 (必填字段)
@ -18,7 +21,7 @@ INSERT INTO "user_accounts" (
"created_at",
"updated_at"
) VALUES (
1, -- 使用 ID 1 作为系统用户
1, -- 使用预留的系统账号 ID
'SYSTEM00001',
'GENESIS',
'系统', -- 必填字段
@ -30,8 +33,5 @@ INSERT INTO "user_accounts" (
NOW()
) ON CONFLICT (user_id) DO NOTHING; -- 如果已存在则跳过
-- 重置自增序列,确保后续用户从 100000000 开始(之前的 migration 设置)
-- 这样可以避免与系统用户 ID 冲突
SELECT setval(pg_get_serial_sequence('user_accounts', 'user_id'),
GREATEST(100000000, (SELECT MAX(user_id) FROM user_accounts)),
false);
-- 注意:不需要重置序列,因为之前的 migration 已经设置序列从 10 开始
-- 这样确保普通用户的 ID 从 10 开始不会与系统账号1-9冲突