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