yangjianbo
59269dc1c1
fix(数据层): 修复软删除与唯一约束冲突问题
问题:软删除的记录仍占用唯一约束位置,导致删后无法重建同名/同邮箱/同订阅
修复方案:使用 PostgreSQL 部分唯一索引(WHERE deleted_at IS NULL)
- User.email: 移除字段级 Unique(),改用部分唯一索引
- Group.name: 移除字段级 Unique(),改用部分唯一索引
- UserSubscription.(user_id, group_id): 移除组合唯一索引,改用部分唯一索引
- ApiKey.key: 保留普通唯一约束(安全考虑,已删除的 Key 不应重用)
安全性:
- 应用层已有 ExistsByXxx 检查,自动过滤软删除记录
- 数据库层部分唯一索引提供最后一道防线
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 16:37:18 +08:00
..
2025-12-29 10:03:27 +08:00
2025-12-18 13:50:39 +08:00
2025-12-18 13:50:39 +08:00
2025-12-23 16:29:57 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 10:03:27 +08:00
2025-12-29 11:48:19 +08:00
2025-12-29 11:45:07 +08:00
2025-12-31 08:50:12 +08:00
2025-12-31 14:11:57 +08:00
2025-12-31 14:11:57 +08:00
2025-12-31 14:11:57 +08:00
2025-12-31 14:11:57 +08:00
2025-12-31 15:31:26 +08:00
2025-12-31 16:37:18 +08:00
2025-12-29 10:03:27 +08:00