信息 |
---|
业务库迁移之后ID替换操作只适用于5.13号之后的包。07号之后的包。 |
1 背景
业务库在迁移,数据连接修改为其他类型的数据库,或者本身数据库的catalog、schema发生了改变,已有的报表取数会找不到表,导致查询报错。
...
代码块 |
---|
INSERT INTO .t_schema_idrule(c_id,c_schemaid,c_dataSourcename,c_origcatalog,c_origschema,c_catalog,c_schema,c_rule)
VALUES ('I8a8a9f5a0192bf79bf7978dc0192c19e76550121','SCHEMA.northwind.null','northwind',NULL,NULL,'northwind_for_compatibility','public','ORIGINAL_NO_CATALOG'), |
t_schema_idrule,具体表结构如下:
字段名 | 说明 |
c_id | uuid 随机生成,保证是表主键唯一即可,如:I8a8a9f5a0192bf79bf7978dc0000000000000001 |
c_schemaid | 对应数据连接下面schema的资源树节点ID,可右键查看节点id属性获取 
|
c_dataSourcename | 数据源name,可右键数据连接资源查看节点名称属性获取 
|
c_origcatalog | 原库的catalog、schema。 右键数据连接下面schema的资源树节点,可右键查看节点id属性判断,ID组成有2种情况: - 情况1:如果源库是支持了catalog的情况,ID构成为:SCHEMA.数据源名.catalog.schema。
ID | c_origcatalog | c_origschema |
---|
SCHEMA.northwind.catalog.schema
| catalog | schema | SCHEMA.northwind.null.schema | null | schema | SCHEMA.northwind.catalog.null | catalog | null |
- 情况2:如果源库没有支持catalog的情况,ID构成为:SCHEMA.数据源名.schema
ID | c_origcatalog | c_origschema |
---|
SCHEMA.northwind.schema | null | schema | SCHEMA.northwind.null | null | null |
信息 |
---|
| 上述null是指真实的NULL值,不是空字符串或字符串“null“
|
|
c_origschema |
c_catalog | 当前数据源的catalog、schema 可以打开数据库管理界面,可以查看当前数据库的catalog、schema对象,根据数据库切换前后的实际数据库结构选择catalog、schema设置 通常数据库管理界面后默认选中的catalog、schema就是默认值 
部分数据库不支持schema和catalog,需要设置为:null 如果数据库不支持catalog,无法获取到catalog列表,界面会自动隐藏选择catalog的下拉控件; 如果数据库不支持schema,会默认 |
c_schema |
c_rule | 产品内置6种ID规则。规则说明: 规则不拼catalog时,适用旧资源(没有支持catalog即V10.5.8之前创建的资源)默认catalog下的schema ID资源,构成为:SCHEMA.数据源名.schema 名称留原值、变大写、变小写,如: | 规则名称 | 说明 |
---|
ORIGINAL_NO_CATALOG | 保留原值,如字段id=FIELD + .数据源名称 + .origschema + .表名 +. 字段名 | UPPER_NO_CATALOG | 转大写,如字段id=FIELD + .数据源名称 + .origschema + .toUpper(表名) +. toUpper(字段名) | LOWER_NO_CATALOG | 转小写,如字段id=FIELD + .数据源名称+ + .origschema + .toLower(表名) +. toLower(字段名) | 规则拼catalog时,使用于新资源(支持catalog)schema ID下的资源,构成为:SCHEMA.数据源名.catalog.schema, 名称留原值、变大写、变小写,如: | ORIGINAL_CATALOG | 保留原值,如字段id=FIELD + .数据源名称+.origcatalog + .origschema + .表名 +. 字段名 | UPPER_CATALOG | 转大写,如字段id=FIELD + .数据源名称+.origcatalog + .origschema + .toUpper(表名) +. toUpper(字段名) | LOWER_CATALOG | 转小写,如字段id=FIELD + .数据源名称+.origcatalog + .origschema + .toLower(表名) +. toLower(字段名) |
|
...