Files
shanxia2.0/docs/data-migration/03-process-logging.md
T
2026-07-13 20:26:43 +08:00

84 lines
3.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.
# 数据移植过程留痕规范
> **编写日期**:2026-07-12
> **目的**:后续会再次全量/增量移植,所有步骤必须可追溯、可复现、可对比。
---
## 1. 三层文档结构
| 层级 | 路径 | 用途 |
|------|------|------|
| 总体规划 | `00-master-plan.md`、`04-execution-order.md` | 阶段划分、依赖、全局原则 |
| 步骤操作手册 | `phase-*/step-*.md` | 单步前置条件、命令、验收、日志模板 |
| 执行批次日志 | `phase-*/logs/YYYY-MM-DD-HHMM-*.md` | **每次真实执行**的留痕(只追加,禁止覆盖) |
Superpowers 设计与实施计划(字段映射、脚本结构、风险)放在:
- `docs/superpowers/specs/*-data-migration-design.md`
- `docs/superpowers/plans/*-data-migration.md`
---
## 2. 每步必须产出的映射与脚本
| 产物 | 说明 |
|------|------|
| `mappings/*_id_mapping.csv` | 源 ID → 目标 ID;业务表多为 **恒等映射**(`str(源id)`);用户表见 `user_mapping` |
| `backend/scripts/migrate_*.py` | 支持 `--dry-run`、`--mapping-out` |
| `phase-*/logs/*.md` | 执行前后行数、抽样 SQL、问题处理 |
---
## 3. 执行批次日志模板(强制字段)
```markdown
## 批次:YYYY-MM-DD HH:MM
### 环境
- 目标库:(host/db,脱敏)
- 源库:
- 操作人:
- Git 分支 / 提交:
### 执行前备份
- mysqldump 路径或快照名:
### 执行命令
(完整命令,密码脱敏)
### 行数对比
| 表 | 源库 del_flag=0 | 执行前目标库 | 执行后目标库 | 预期 |
### 映射产物
- 文件路径、行数、未映射条数
### 抽样校验 SQL
(粘贴 2~3 条 SELECT 及结果摘要)
### 界面验收
- 页面路径、账号、结果
### 问题与处理
```
---
## 4. 幂等与二次移植
1. **首次移植**:生成 mapping CSV。业务主键 **原样保留**(见 [05-id-preservation-policy.md](./05-id-preservation-policy.md));`sys_user` 例外。
2. **二次移植**(同环境重跑):
- 脚本按 `source_id` 查 mapping,已存在则 **UPDATE 或 SKIP**(步骤文档中写明策略)。
- 日志新批次追加,注明 `re-run` / `incremental`。
3. **清空重灌**(仅测试库):步骤文档单独写 `TRUNCATE` 范围与顺序,生产禁止随意清空。
---
## 5. 当前进度索引
| 阶段 | 步骤文档 | 设计/计划 | 脚本 | 状态 |
|------|----------|-----------|------|------|
| P0-1 字典 | [step-01-dict.md](./phase-0-foundation/step-01-dict.md) | — | `compare_dict_snapshots.py` | 已分析,无需批量导入 |
| P0-4 用户 | [step-04-users.md](./phase-0-foundation/step-04-users.md) | — | `migrate_users.py` | 已执行,见 mappings |
| P1-1 产品分类 | [step-01-product-category.md](./phase-1-crm/step-01-product-category.md) | [design](../superpowers/specs/2026-07-12-crm-product-category-data-migration-design.md) / [plan](../superpowers/plans/2026-07-12-crm-product-category-data-migration.md) | `migrate_crm_product_category.py` | ✅ 2026-07-12 已执行 |