# 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.toml(uv workspace)和 4 个子项目 pyproject.toml - 生成 .env.template ### 任务 3:ETL 平移 - 从 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 个 DDL:meta.sql、ods.sql、dwd.sql、core.sql、dws.sql、app.sql - 创建 db/zqyy_app/schemas/init.sql(用户、角色、权限、任务、审批表) - 创建 db/fdw/setup_fdw.sql(FDW 映射配置) - 创建测试数据库脚本(create_test_db.sql、migrate_test_data.sql) - 同步文档:docs/database/etl_feiqiu_schema_migration.md ### 任务 8:Steering 更新 - 复制 .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` 建立基线