2.2 KiB
2.2 KiB
ADDED Requirements
Requirement: 地磅业务表 DDL
系统 SHALL 在 shanxia2.0 库中提供四张地磅业务表:db_purchase_plan、db_weighing_slip、db_inbound_outbound、db_vehicle。每张表 SHALL 使用 VARCHAR(64) UUID 主键,并在业务字段之后包含 database-conventions 规定的公共字段(tenant_no 至 del_flag)。
Scenario: 表结构符合公共字段约定
- WHEN 查阅
docs/sql/shanxia2.0.sql中db_purchase_plan定义 - THEN 可见
id为 VARCHAR(64),且含tenant_no、create_time、update_time、del_flag等公共字段
Scenario: 关联字段为 UUID
- WHEN 查阅
db_weighing_slip表定义 - THEN
purchase_plan_id与inbound_outbound_id为 VARCHAR(64),可为 NULL
Requirement: 业务字段保留与原系统语义
四表 SHALL 保留原地磅核心业务字段名与语义(如 plan_no、execution_status、cargo_name、is_voided、auto_generate_enabled),仅将不符合规范的类型(如 int 主键、varchar 时间、is_deleted)改为规范形式。
Scenario: 地磅单保留作废标记
- WHEN 查阅
db_weighing_slip表定义 - THEN 存在
is_voided字段(0 正常,1 作废),与del_flag并存
Scenario: 计划表保留自动生成字段
- WHEN 查阅
db_purchase_plan表定义 - THEN 存在
auto_generate_enabled、auto_generate_end_month、auto_generate_last_month字段
Requirement: 历史数据迁移脚本
项目 SHALL 提供可将原地磅库(dibang.sql 或生产库)四表数据导入 shanxia2.0 的迁移脚本,生成新 UUID 并维护旧 int id 到新 id 的映射,重写表间关联 ID。
Scenario: 迁移后关联完整
- WHEN 对迁移后的
db_weighing_slip抽样检查purchase_plan_id - THEN 非 NULL 的
purchase_plan_id均能在db_purchase_plan.id中找到对应记录
Requirement: DDL 快照维护
表结构变更 SHALL 同步维护于 docs/sql/(增量脚本及/或 shanxia2.0.sql 全量快照)。
Scenario: 新环境建表
- WHEN 在新 MySQL 实例执行项目提供的地磅 DDL 脚本
- THEN 四张
db_*表创建成功且无语法错误