自定义迁移对象
更新时间:2022-05-07
模式匹配方式自定义迁移对象规则说明
使用JSON格式来描述,具体规则如下:
[
{
"type" : "db",
"src" : "待迁移的库1的名称",
"dst" : "待迁移的库1在目标实例中的名称"
},
{
"type" : "db",
"src" : "模式匹配多个库",
"dst" : "待迁移的库在目标实例中的名称"
},
{
"type" : "table",
"src" : "待迁移或订阅的表A的名称",
"dst" : "待迁移或订阅的表A在目标实例中的名称"
"fieldBlacklist" : "列过滤(黑名单)",
"fieldWhitelist" : "列过滤(白名单)",
"where" : "行过滤"
},
{
"type" : "table",
"src" : "模式匹配多张表",
"dst" : "待迁移的表在目标实例中的名称",
"fieldBlacklist" : "列过滤(黑名单)",
"fieldWhitelist" : "列过滤(白名单)",
"where" : "行过滤"
}
]
参数 | 是否必须 | 说明 |
---|---|---|
type | Y | 待迁移对象类型:db(迁移整个库)、 table(迁移单张表或者模式匹配多张表) |
src | Y | 如果是迁移整个库,此项为待迁移的库的名称;如果是迁移表,此项为待迁移的表的名称 |
dst | Y | 如果是迁移整个库,此项为待迁移的库在目标实例中的名称;如果是迁移表,此项为待迁移的表在目标实例中的名称 |
fieldBlacklist | N | 列过滤(黑名单),符合条件的列将被排除,支持数据库标准SQL SELECT条件,示例:n1,n2 |
fieldWhitelist | N | 列过滤(白名单),符合条件的列将被保留,支持数据库标准SQL SELECT条件,示例:n1,n2 |
where | N | 行过滤,符合条件的行将被保留,仅支持数据库标准SQL WHERE条件,Oracle数据库注意区分字段名大小写。示例:id>10 AND status='success' |
迁移对象配置示例
匹配上游old_db的库,并不做转换的同步到下游
[
{
"type" : "db",
"src" : "old_db",
"dst" : "old_db"
},
{
...
}
]
匹配上游old_db的库,并转换为new_db的同步到下游
[
{
"type" : "db",
"src" : "old_db",
"dst" : "new_db"
},
{
...
}
]
匹配上游前缀为"old_db"的库,并不做转换的同步到下游
[
{
"type" : "db",
"src" : "old_db%",
"dst" : "old_db%",
},
{
...
}
]
匹配上游前缀为"old_db"的库,转换成前缀为"new_db"的库同步到下游
[
{
"type" : "db",
"src" : "old_db%",
"dst" : "new_db%"
},
{
...
}
]
匹配上游表db.tbl,并不做转换的同步到下游
[
{
"type" : "table",
"src" : "db.tbl",
"dst" : "db.tbl",
"fieldBlacklist" : "id,id2,id3",
"fieldWhitelist" : "name,name2,name3",
"where" : "id>6 and name='dtstest'"
},
{
...
}
]
匹配上游表old_db.old_tbl,并转换为表new_db.new_tbl同步到下游
[
{
"type" : "table",
"src" : "old_db.old_tbl",
"dst" : "new_db.new_tbl",
"fieldBlacklist" : "id,id2,id3",
"fieldWhitelist" : "name,name2,name3",
"where" : "id>6 and name='dtstest'"
},
{
...
}
]
匹配上游前缀为"olddb.old_tbl"的表,并不做转换的同步到下游
[
{
"type" : "table",
"src" : "old_db.old_tbl_%",
"dst" : "old_db.old_tbl_%",
"fieldBlacklist" : "id,id2,id3",
"fieldWhitelist" : "name,name2,name3",
"where" : "id>6 and name='dtstest'"
},
{
...
}
]
匹配上游前缀为"olddb.old_tbl"的表,并转换成前缀为"newdb.new_tbl"的表同步到下游
[
{
"type" : "table",
"src" : "old_db.old_tbl_%",
"dst" : "new_db.new_tbl_%",
"fieldBlacklist" : "id,id2,id3",
"fieldWhitelist" : "name,name2,name3",
"where" : "id>6 and name='dtstest'"
},
{
...
}
]
匹配上游前缀为"olddb"的库、前缀为"oldtbl"的表,并转换成前缀为"newdb"的库,前缀为"newtbl"的表同步到下游
[
{
"type" : "table",
"src" : "old_db_%.old_tbl_%",
"dst" : "new_db_%.new_tbl_%",
"fieldBlacklist" : "id,id2,id3",
"fieldWhitelist" : "name,name2,name3",
"where" : "id>6 and name='dtstest'"
},
{
...
}
]