创建SQL迁移任务时若连接迁移目标数据库,则会对提取的SQL语句进行动态兼容性评估。对于不兼容的SQL语句,支持用户自定义配置EXPLAIN执行结果的过滤列表,可灵活添加需要过滤的类型。
以迁移路线为MySQL > DM为例,扫描结果如下,EXPLAIN执行结果为“Invalid table or view name [not_exist_table]”。

vi /opt/DevKit/devkitplugins/porting/config/sysmig/sql_analysis/sqlAnalysisSettingsConfig.json
“/opt”为工具安装目录,请根据实际情况替换。
{
"crossFunction": false,
"compilationUnitMaxCache": 3000,
"poolSize": 0,
"taskQueueCapacity": 5000,
"ifMaxNum": 12,
"sourceIfMaxNum": 256,
"compatibilityCheckTimeoutSeconds": 120,
"explainExecutionResult": ["Invalid table or view name.*"],
"addTodoInPatch": false,
"todoSuggestionUseEnLang": true,
"dbConnOptionsConfig": {
"sourceDb": {
"--source-db-user": "",
"--source-db-jdbc-url": "",
"--source-db-driver-jar-path": "",
"--source-db-driver-class-name": ""
},
"targetDb": {
"--target-db-user": "",
"--target-db-jdbc-url": "",
"--target-db-driver-jar-path": "",
"--target-db-driver-class-name": ""
}
}
}
explainExecutionResult:配置需要过滤的执行结果,支持正则匹配。多个过滤项请以英文逗号分隔,例如:["Invalid table or view name.*","Table '.*' doesn't exist"]。