同一个source,多个block-allow-list时怎么配置

楼上对 block-allow-list 的设置有问题的。block-allow-list 规则:

  1. 当 do-dbs 有设置时:
    • 如果表名命中该 do-dbs 列表,开始判断 do-tables(4)
    • 如果表明没有命中 do-dbs 列表,该表不需要被迁移
  2. do-dbs 没有设置且 ignore-dbs 有设置
    • 如果表名命中 ignore-dbs 列表,该表不需要被迁移
    • 如果表名没有命中 ignore-dbs 列表,开始判断 do-tables(4)
  3. 如果 do-dbs 和 ignore-dbs 都没有设置,开始判断 do-tables(4)
  4. 当 do-tables 有设置:
    • 如果表名命中 do-tables,则该表命中,需要被迁移
    • 如果表名没有命中 do-tables,该表不需要迁移
  5. do-tables 没有设置且 ignore-tables 有设置
    • 当表名命中 ignore-tables,则该表不需要被迁移
    • 当表名没有命中 ignore-tables,该表需要被迁移
  6. 当 do-tables 和 ignore-tables 都没有设置,则该表需要被迁移

从这个规则里面我们可以看出:

  1. 在设置了 do-* 的时候,设置 ignore-* 是没有用的(并不是直觉上的 do-dbs - ignore-dbs 或者 do-tables - ignore-tables)
  2. 设置了 do-dbs 的时候,记得再给需要迁移的表设置 do-tables(或者在不设置 do-tables 的情况下用 ignore-tables 过滤掉不需要的表)或者直接让 do-tables 为空。

另外,DM 的 BAList 在这几个发行版里并没有太大改动,基本功能是一致的,不推荐为了测试 BAList 是否存在 bug 去实验其他版本。

2 个赞