# DM 的使用 - Block & Allow Table Lists

__*DM 使用*__
__*DM Block & Allow Table Lists*__

```
block-allow-list:
  bw-rule-1:
    do-dbs: ["test.*", "user"]
    ignore-dbs
    # ignore-dbs: ["mysql", "account"]
    do-tables:
    - db-name: "test.*"
      tbl-name: "t.*"
    - db-name: "user"
      tbl-name: "information"
  bw-rule-2: 
    ignore-tables:
    - db-name: "user"
      tbl-name: "log"
```
-------------------------------------------------------------
上游数据库实例表的黑白名单过滤规则,可以用来过滤或者只迁移某些 database/table 的所有操作。
block-allow-list:
  bw-rule-1:                           # 规则名称
    do-dbs: ["test.*", "user"]         # 迁移哪些库,支持通配符 "*" 和 "?",do-dbs 和 ignore-dbs 只需要配置一个,如果两者同时配置只有 do-dbs 会生效
    # ignore-dbs: ["mysql", "account"] # 忽略哪些库,支持通配符 "*" 和 "?"
    do-tables:                         # 迁移哪些表,do-tables 和 ignore-tables 只需要配置一个,如果两者同时配置只有 do-tables 会生效
    - db-name: "test.*"
      tbl-name: "t.*"
    - db-name: "user"
      tbl-name: "information"
  bw-rule-2:                          # 规则名称
    ignore-tables:                    # 忽略哪些表
    - db-name: "user"
      tbl-name: "log"

参数解释
do-dbs:要迁移的库的白名单,类似于 MySQL 中的 replicate-do-db。
ignore-dbs:要迁移的库的黑名单,类似于 MySQL 中的 replicate-ignore-db。
do-tables:要迁移的表的白名单,类似于 MySQL 中的 replicate-do-table。必须同时指定 db-name 与 tbl-name。
ignore-tables:要迁移的表的黑名单,类似于 MySQL 中的 replicate-ignore-table。必须同时指定 db-name 与 tbl-name。
以上参数值以 ~ 开头时均支持使用正则表达式来匹配库名、表名。
