material_manage_system/docs/superpowers/plans
文睿 张 9539b02f1c 同步设计与计划文档到 Task 1 的实现结论
Task 1 实现与评审暴露出文档和计划里的若干错误,据实修正:

- 设计文档 6.2 / 6.4:preferred_row 生成列由 `THEN id` 改为 `THEN 1`。
  原写法既被 MySQL 拒绝(生成列不能引用自增列,ERROR 3109),语义上也
  失效——每行 id 各不相同,唯一键永不冲突,「每物料至多一条首选」形同
  虚设。并补注它与 user_organizations 用 `THEN user_id` 的场合差异:
  那张表没有自增列,用的是业务键。
- 设计文档 6.1 / 6.2、计划 Task 1:两张关系表补
  `FOREIGN KEY(organization_id) REFERENCES organizations(id)`。改造前的
  material_suppliers 旧定义本就有这条单列外键,重写时漏掉了,而项目里
  所有按组织分表的表都有它。
- 计划 Global Constraints:删除「init.sql 必须可重复执行」这一错误约束。
  脚本本就不幂等(普通建表没有 IF NOT EXISTS、schema_migrations 的
  INSERT 也没有幂等,第二次执行在第 8 行即中止),改为只要求新增的分流
  语句自身幂等。
- 计划 Task 1 Step 5:material_manufacturers 建表位置改为
  organization_partners 之后(原位置触发前向外键 ERROR 1824)。
- 计划 Task 1 Step 7:临时表补 DEFAULT CHARSET=utf8mb4(不补会因排序
  规则与持久表不一致报 ERROR 1267)。
- 计划 Task 1 Step 13:改为在 scratch 库重放三条分流语句验证幂等,不再
  要求整脚本重跑。
2026-10-15 16:03:43 +08:00
..
2026-09-07-wmms-vue-migration-plan.md Initial commit 2026-09-15 16:08:18 +08:00
2026-09-14-mms-v2.3-three-stage-implementation-plan.md 回归测试用例 2026-10-09 18:18:58 +08:00
2026-09-20-obsolete-material-policy.md 完善库存流水 2026-09-20 14:29:41 +08:00
2026-10-08-company-master-data-isolation.md 回归测试用例 2026-10-09 18:18:58 +08:00
2026-10-10-material-bulk-import.md feat(material-import): 完善导入模板填写说明页,同步接口、计划与回归用例 2026-10-12 15:41:21 +08:00
2026-10-13-material-duplicate-check.md 功能:完善物料导入与合作伙伴管理 2026-10-13 15:20:29 +08:00
2026-10-15-material-sources-db-migration.md 同步设计与计划文档到 Task 1 的实现结论 2026-10-15 16:03:43 +08:00