修复BOS实际表字段迁移并发布1.0.20
This commit is contained in:
@@ -91,7 +91,7 @@
|
||||
|
||||
单字段 SQL 写入目标库时,限定值组按名称、限定值按组和值判断,只补充缺失项;引用元数据按引用表名和字段 `DBNAME` 映射,目标引用字段不存在或不唯一时直接报错,不自动创建。
|
||||
|
||||
单字段读取还会查询源库 `USER_TABLES`、`USER_TAB_COLUMNS`。源对象是物理表且源字段存在时,输出文件首先检查目标库物理表和字段:目标表不存在时报错,目标字段不存在时按源字段的数据类型、长度、精度和字符语义执行 `ALTER TABLE ... ADD`。源对象是视图或 BOS 计算字段时不生成物理字段 DDL。
|
||||
BOS 单字段读取先按 `AD_TABLE.NAME` 定位 BOS 表;`REALTABLE_ID` 非空时沿 `REALTABLE_ID -> AD_TABLE.ID` 解析最终实际表名称,支持多级映射,映射记录缺失、不唯一或循环引用时报错。BOS 配置仍按原 BOS 表名导出,物理字段按最终实际表名读取和写入。同名表或映射后的实际表必须命中 `USER_TABLES`,并排除 `USER_VIEWS`、`USER_MVIEWS`(物化视图也可能出现在 `USER_TABLES` 中)。源物理字段存在时,输出文件先检查目标同名普通物理表和字段:目标表不存在或为视图/物化视图时报错,目标字段不存在时按源字段类型、长度、精度和字符语义执行 `ALTER TABLE ... ADD`,已存在则跳过物理 DDL。源对象是视图、物化视图或源物理字段不存在时仅导出 BOS 配置。独立“表字段”页签不解析 BOS 映射。
|
||||
|
||||
写入流程:索引项 -> 读取对应 `data/*_{后缀}.txt` -> `DbServices.ExecuteCreate` -> 在目标库执行 -> 更新写入状态。批量写入遇到第一条失败即停止,并在内存中记录断点;断点不会跨进程持久化。
|
||||
|
||||
@@ -147,7 +147,13 @@ dotnet build .\henlo_migration_wpf10\henlo_migration_wpf10.csproj -c Debug
|
||||
dotnet build .\henlo_migration_wpf10\henlo_migration_wpf10.csproj -c Debug --no-restore
|
||||
```
|
||||
|
||||
当前没有测试项目。最低验证要求:
|
||||
离线 BOS 实际表/字段回归(使用模拟元数据,不启动应用、不连接数据库):
|
||||
|
||||
```powershell
|
||||
dotnet run --project .\tests\BosPhysicalColumnRegression\BosPhysicalColumnRegression.csproj
|
||||
```
|
||||
|
||||
最低验证要求:
|
||||
|
||||
1. 所有 C#/XAML 修改至少执行一次主项目构建。
|
||||
2. 仅文档修改可不构建,但要重新读取文件检查 Markdown、路径和命令。
|
||||
|
||||
Reference in New Issue
Block a user