20260914223013

This commit is contained in:
oneao committed 2026-09-14 22:30:13 +08:00
1 parent 549c8bd2eb
commit 63514476d7
60 files changed
+6478 -2004

No files matched your search

+36 -2
View File
@@ -9,7 +9,9 @@
| --- | --- | --- |
| `FieldNameSync.java` | **V2 当前版本** | 从旧库 `s_columnLib` 同步字段名称与显示配置到 `s_field` / `s_module_schema` |
| `SchemaDumpMarkdown.java` | 通用 | 导出该实例上任意库的表与视图结构为 Markdown |
| `OtherDataMigration.java` | **V1 历史工具,未改造,勿用于 V2** | 面向 V1 表结构(`s_module_field` / `s_module_field_list` / `s_module_field_edit`)与 `b_other_bmfl` 旧树结构,V2 下这些表已不存在,仅作历史参考 |
| `RunSqlFile.java` | 通用 | 在 FMS 库执行 `sql/` 下的建表 / 视图 / 索引脚本(按 GO 分批,单事务) |
| `OtherDataProbe.java` | 迁移辅助(只读) | `list` 列出旧库 `b_other_bmfl` 的 65 个字典模块(启用/旧库行数/新库已建),输出 `otherdata-modules.txt`;`tables <表名...>` 导出新旧结构 + 旧库数据样例 |
| `OtherDataMigrate.java` | **其他数据迁移** | 导入 `base_otherdata` 下 64 个字典模块的数据(雪花主键)、重建 `b_from`/`b_grade`、转换 `b_othercompany` 引用值,输出映射 `otherdata-id-map.tsv`;支持 `--dry-run` |
---
@@ -50,7 +52,8 @@ view / edit 两份 `b_schema_json` 由旧库名单**完整重新生成**,
其余字段(标志为 `'0'`、空值、旧库无记录)**直接不写入 JSON**,不写 `visible:false`。
`s_field` 里有、旧库名单里没有的字段同样不进入配置(节点不存在 = 不显示、不参与表单)。
顺序取旧库位置列:view 按 `col_Position`、edit 按 `col_edit_position`,位置缺失的排在最后。
顺序取旧库位置列:view 按 `col_Position`、edit 按 `col_edit_position`,位置缺失的排在最后;
view 里备注列(`b_bz`)固定排到最后。
列表列宽取 `col_Width`,未配置时省略 `width` 键(前端按自身默认值渲染)。
生成的 JSON 结构与前端消费侧一致
@@ -110,6 +113,7 @@ del FieldNameSync*.class
| `--dry-run` | 只报告不写库,结束时回滚 |
| `--skip-schema` | 只同步 `s_field.b_name`,不重建 `s_module_schema` |
| `--force` | 允许覆盖已存在且非空的 `s_module_schema` 行 |
| `--all-otherdata` | 批量模式:同步 `base_otherdata` 下所有数据模块(不需要 `<moduleId>`,失败跳过继续) |
### 输出示例
@@ -169,6 +173,34 @@ java -Dstdout.encoding=UTF-8 -cp ".;mssql-jdbc-13.4.0.jre11.jar" SchemaDumpMarkd
输出包含:对象清单(名称/类型/字段数/主键)、各表字段结构(含主键与外键)、视图字段结构。
字段「备注」列留空,供后续补充含义。
---
## RunSqlFile — 执行 sql 脚本
执行 `sql/` 目录下的脚本。目标库固定取 `config/dbconfigs/G3HD.properties`,执行前校验
catalog 必须是 `FMS`;按 `GO` 把脚本拆成批次,在单个事务中依次执行,任一批失败整体回滚。
```bash
cd fms-api
# 先 dry-run 看批次划分
java -Dstdout.encoding=UTF-8 -cp "tools/migration/mssql-jdbc-13.4.0.jre11.jar" \
tools/migration/RunSqlFile.java ../sql/fms_business_contact.sql --dry-run
# 确认后执行
java -Dstdout.encoding=UTF-8 -cp "tools/migration/mssql-jdbc-13.4.0.jre11.jar" \
tools/migration/RunSqlFile.java ../sql/fms_business_contact.sql
```
源码启动模式不产生 `.class` 文件;如需手动编译:
```bash
cd fms-api/tools/migration
javac -encoding UTF-8 -cp "mssql-jdbc-13.4.0.jre11.jar" RunSqlFile.java
```
> 含「重建」段落(`drop ... if exists`)的脚本会删除同名表及其数据,执行前确认表中数据已不需要。
## 已有同步记录
| 模块 / 视图 | 同步日期 | 字段数 | 备注 |
@@ -177,3 +209,5 @@ java -Dstdout.encoding=UTF-8 -cp ".;mssql-jdbc-13.4.0.jre11.jar" SchemaDumpMarkd
| `v_b_contact` | 2026-07-30 | 36 | V1 时代(`s_module_field*`,已废弃) |
| `b_port` | 2026-08-01 | 13 | V1 时代(`s_module_field*`,已废弃) |
| `v_b_othercompany` | 2026-09-14 | 51 | V2:改名 43 条、保留原值 8 条;重建 view(15 列,含旧库列宽/顺序)与 edit(41 个字段),未进入配置的字段不写入 JSON |
| `v_b_contact` | 2026-09-14 | 36 | V2:改名 28 条、保留原值 8 条;重建 view(19 列)与 edit(19 个字段)。同批新增 `b_contact` / `b_contact_type` 表、`v_b_contact` 视图与模块注册 |
| 其他数据(`base_otherdata`) | 2026-09-14 | 668 | 62 张字典表(`sql/fms_business_otherdata.sql`,模块直接查表)、模块注册(`sql/fms_module_otherdata.sql`:根 + 6 个分组 + 64 个数据模块,编码 = 表名)、导入 555 行(`OtherDataMigrate.java`);`FieldNameSync --all-otherdata --force` 同步字段名与 view/edit 配置(含重命名字段别名 `b_vessel_name`→`b_name`、`b_name_c`→`b_name`),新增通用字段名由注册脚本补齐,旧库无配置的 44 个模块补默认列(名称 + 备注)。`b_from`/`b_grade` 已重建为雪花,其引用转换待 `b_othercompany` 数据迁入后重跑 |