Files
Neo-ZQYY/docs/audit/changes/2026-02-15__monorepo-migration-phase1-8.md

82 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Monorepo 迁移 Phase 1-8 审计记录
- 日期: 2026-02-15
- Prompt: Monorepo 迁移 spec 任务 1-8骨架搭建、ETL 平移、小程序平移、DB Schema 重组、Steering 更新)
- 类型: 新仓库初始化(全量新建,非增量修改)
- 风险等级: 高(涉及 DB Schema、ETL 全量代码、配置体系)
## 变更概述
将单一 ETL 仓库C:\ZQYY\FQ-ETL迁移为 Monorepo 单体仓库C:\NeoZQYY整合 ETL、后端、小程序、GUI 等子项目。一次性搬迁策略,不保留 Git 历史。
## 变更清单
### 任务 1骨架搭建
- 创建 9 个一级目录apps/、gui/、packages/、db/、docs/、infra/、scripts/、samples/、tests/)及 README.md
- 初始化 Git 仓库、.gitignore、.kiroignore
- 生成根 pyproject.tomluv workspace和 4 个子项目 pyproject.toml
- 生成 .env.template
### 任务 3ETL 平移
- 从 C:\ZQYY\FQ-ETL 原样复制 ETL 业务代码到 apps/etl/pipelines/feiqiu/
- 涉及目录api/、cli/、config/、loaders/、models/、orchestration/、scd/、tasks/、utils/、quality/、tests/、scripts/、docs/、database/
- 复制 gui/ 到 gui/
- 更新 ETL pyproject.toml 依赖
### 任务 5小程序平移
- 从 C:\ZQYY\XCX 复制到 apps/miniprogram/
- Prototype 复制到 docs/h5_ui/
### 任务 6数据库 Schema 重组(高风险)
- 创建 db/etl_feiqiu/schemas/ 下 6 个 DDLmeta.sql、ods.sql、dwd.sql、core.sql、dws.sql、app.sql
- 创建 db/zqyy_app/schemas/init.sql用户、角色、权限、任务、审批表
- 创建 db/fdw/setup_fdw.sqlFDW 映射配置)
- 创建测试数据库脚本create_test_db.sql、migrate_test_data.sql
- 同步文档docs/database/etl_feiqiu_schema_migration.md
### 任务 8Steering 更新
- 复制 .kiro/steering/ 和 .kiro/specs/ 到 Monorepo
- 更新 product.md、tech.md、structure-lite.md、structure.md、governance.md、db-docs.md、steering-readme-maintainer.md 为 Monorepo 视角
- 清除所有旧路径引用FQ-ETL、C:\ZQYY\FQ-ETL
### 属性测试PBT
- 在 tests/ 下创建 7 个属性测试文件Property 1-8, 10
## 高风险路径命中
| 路径 | 风险类别 | 说明 |
|------|----------|------|
| apps/etl/pipelines/feiqiu/api/ | API 契约 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/cli/ | CLI 入口 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/config/ | 配置体系 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/database/ | 数据库操作 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/loaders/ | 落库逻辑 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/models/ | 数据模型 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/orchestration/ | 调度/游标 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/scd/ | SCD2 处理 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/tasks/ | 业务任务 | 原样复制,无逻辑修改 |
| apps/etl/pipelines/feiqiu/utils/ | 通用工具 | 原样复制,无逻辑修改 |
| db/etl_feiqiu/schemas/*.sql | DB Schema | 新建 DDL未执行 |
| db/zqyy_app/schemas/init.sql | DB Schema | 新建 DDL未执行 |
| db/fdw/setup_fdw.sql | FDW 配置 | 新建,未执行 |
| pyproject.toml | 根配置 | 新建 uv workspace 配置 |
| .env.template | 环境配置 | 新建模板 |
## 验证结果
- ETL 单元测试516 passed / 5 failed源仓库已有 bug/ 2 skipped
- 核心业务逻辑无回归
- DB Schema新建 DDL 文件,未在生产数据库执行,无数据风险
- Steering 路径更新grep 验证无旧路径残留
## 内联注释决策
- AI_CHANGELOG不添加。所有文件均为新建/原样复制,无"修改"语义
- CHANGE 注释不添加。ETL 代码原样复制,未修改现有逻辑
## 后续建议
1. 在 C:\NeoZQYY\apps\etl\pipelines\feiqiu\ 下运行 `pytest tests/unit` 确认测试通过
2. 修复源仓库已有的 5 个失败测试
3. DB Schema DDL 在测试环境验证后再应用到生产
4. 首次 `git add . && git commit` 建立基线