refactor: P3a 模型层迁入 src/modules/(22 模型)

- 19 个模块目录(system/association/cms/dictionary/configuration/log 等)
- 一对一 16 个 + 合并 3 组(dict+dict_item、config+config_item、login_log+operation_log)
- 重写模型 import:base_db/base_model→src.common、db→src.core.database、
  case_converter/rich_text/request→src.common.utils
- application/models/ 全部替换为 shim(指向 src.modules)
- src/models_registry.py 改为从 src.modules 全量导入

【修复】codemod 两处 bug:shim 与 registry 的 import 路径含斜杠(已改点分);
strip_license 误剥无许可头文件的 docstring 开头(log/models.py 已补回)

【验收】22 表全量识别;应用启动;pytest 5 passed

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DjangoAdmin Dev
2026-08-07 13:48:30 +08:00
co-authored by Claude
parent 658ee6d596
commit 6de4f3bef2
64 changed files with 3126 additions and 3399 deletions
+20 -18
View File
@@ -4,22 +4,24 @@
统一在此导入全部数据库模型,确保 Flask-Migrate 能全量识别表结构
(migrations/env.py 依赖 db.metadata 收集所有表)。
P2 阶段:模型仍位于 application/models/,经其 __init__ 全量导入。
P3 阶段:随模块逐个迁入 src/modules/,此处逐行改为
from modules.<domain>.<name>.models import * 并移除对应旧行。
P7 阶段:application/ 删除后,仅保留 src.modules 导入。
"""
# ============================================================
# P2:模型仍位于 application/models/(经其 __init__ 全量导入)
# ============================================================
import application.models # noqa: F401 (P3 起逐步替换为 src.modules 导入)
# ============================================================
# P3 起按此格式逐模块替换:
# from modules.system.user.models import * # noqa: F401,F403
# from modules.system.role.models import * # noqa: F401,F403
# from modules.system.menu.models import * # noqa: F401,F403
# ...
# ============================================================
# 全量导入(P3a 起:模型位于 src/modules/ 各模块 models.py)
from src.modules.association.role_menu.models import * # noqa: F401,F403 (role_menu)
from src.modules.association.user_role.models import * # noqa: F401,F403 (user_role)
from src.modules.city.models import * # noqa: F401,F403 (city)
from src.modules.cms.article.models import * # noqa: F401,F403 (article)
from src.modules.cms.category.models import * # noqa: F401,F403 (category)
from src.modules.cms.link.models import * # noqa: F401,F403 (link)
from src.modules.file_template.models import * # noqa: F401,F403 (file_template)
from src.modules.job.models import * # noqa: F401,F403 (job)
from src.modules.notice.models import * # noqa: F401,F403 (notice)
from src.modules.param.models import * # noqa: F401,F403 (param)
from src.modules.system.dept.models import * # noqa: F401,F403 (dept)
from src.modules.system.level.models import * # noqa: F401,F403 (level)
from src.modules.system.menu.models import * # noqa: F401,F403 (menu)
from src.modules.system.position.models import * # noqa: F401,F403 (position)
from src.modules.system.role.models import * # noqa: F401,F403 (role)
from src.modules.system.user.models import * # noqa: F401,F403 (user)
from src.modules.dictionary.models import * # noqa: F401,F403 (dict+dict_item)
from src.modules.configuration.models import * # noqa: F401,F403 (config+config_item)
from src.modules.log.models import * # noqa: F401,F403 (login_log+operation_log)