feat(system): 新增操作日志表与 V2 迁移

需求 2.5.1 要求记录用户管理操作,先落表结构:

- operation_logs 表:冗余 username 保证账号删除后仍可追溯,
  user_id 外键 ON DELETE SET NULL,success 默认 '0' 与 login_logs 口径一致
- 截断常量(USERNAME/ERROR_MESSAGE/REQUEST_DATA)集中定义,供写入方引用
- 修复既有 V1 迁移与迁移模板的 downgrade:索引是外键唯一支撑索引,
  先 drop_index 会报 errno 1553,改为只 drop_table
- 同步 db/migration/V2 与 init-dev.sql,迁移版本号更新为 a45a8087831b

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
liuwenxinandClaude Code committed 2026-10-10 10:44:05 +08:00
1 parent 273ebf4657
commit ad5fe4a411
9 files changed
+365 -30

No files matched your search

+2
View File
@@ -11,12 +11,14 @@
from app.models.base import Base, TimestampMixin
from app.models.login_log import LoginLog
from app.models.operation_log import OperationLog
from app.models.role import Permission, Role, RolePermission
from app.models.user import User, UserRole
__all__ = [
"Base",
"LoginLog",
"OperationLog",
"Permission",
"Role",
"RolePermission",