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:
parent
83a0f6d2f3
commit
ac8eb6d38d
|
|
@ -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)冲突
|
||||
|
|
|
|||
Loading…
Reference in New Issue