使用 SchemaCrawler API 获取 Weak/Implied 关系

Using SchemaCrawler API to get Weak/Implied Relationships

我正在开发的数据迁移工具中使用 SchemaCrawler API。这是 MySQL 5.6.25 上的 运行,带有 SchemaCrawler API 的 v16.16.9。不幸的是,SC 没有在数据库中发现任何弱关系,即使其他工具正在识别它们。在下面的示例中,我循环遍历数据库中的每个 table 并打印弱关联,但弱关联集合始终为空:

for (Map.Entry<String, Table> entry : tableMap.entrySet()) { 
    String tableName = entry.getKey();
    Table sampleTable = entry.getValue();
    Collection<WeakAssociation> weakAssociations = sampleTable.getWeakAssociations();
    System.out.println(String.format("Table: %s, associations=%s", tableName, weakAssociations));
}

我找不到任何与弱关联相关的示例代码,所以我可能只是使用不当。欢迎任何帮助。

您需要在配置中将“weak-associations”设置为true。请查看 WeakAssociationsTest 示例代码。

Sualeh Fatehi,SchemaCrawler