需求 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>
29 lines
819 B
Python
29 lines
819 B
Python
"""ORM 模型层:只做表结构映射。
|
||
|
||
分层约束:
|
||
- 不含业务逻辑
|
||
- 不得被 `api/` 层直接使用 —— ORM 对象必须经 `schemas/` 转换后才能出参,
|
||
否则表结构变更会直接泄漏到接口契约上
|
||
|
||
**本模块的导入列表必须保持完整**:Alembic autogenerate 依赖
|
||
`Base.metadata` 包含全部表,漏掉一张就会生成「删除该表」的迁移。
|
||
"""
|
||
|
||
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",
|
||
"TimestampMixin",
|
||
"User",
|
||
"UserRole",
|
||
]
|