0

我一直在尝试绘制 SQL Server 数据库中表子集的关系图。

我使用以下选项在 MAC 操作系统上运行 sc.sh:

-server=sqlserver -host=<host> -database=<schema> -user=<user> -password=<password> -infolevel="maximum" -command="graph" -schemas=<schema> -tables="<database>\.<schema>\.TABLE1|<database>\.<schema>\.TABLE2" -grepcolumns=".*\.PRIMARYKEY" -tabletypes=TABLE -outputformat=pdf -outputfile=diagram.pdf

我使用的 graphviz 版本是 2.28.0(如果我使用的版本高于此版本,schemacrawler 和 schemaSpy 都会出错)。

当我运行命令时,我得到了输出 pdf 文件。但它只包含表/节点及其列,没有应该链接 2 个表的关系/边。

我还尝试为数据库中的所有表生成图表,输出再次是所有表/节点及其列的图表,但没有任何关系/边。

我可以运行作为模式爬虫下载一部分的图表示例,并且输出确实显示了关系/边缘。

最后,我可以在 schemaSpy 中生成显示正确关系的图表。我想看看我是否可以在 schemacrawler 中为一组特定的表和列生成图表。

我使用 schemacrawler-12.04.02-main

4

1 回答 1

0

Thomas,请使用 SchemaCrawler 12.05.02 或更高版本。检测弱关系或隐含关系的算法已得到增强,您现在应该可以在图中看到想要看到的边缘。

Sualeh Fatehi,SchemaCrawler

于 2015-03-17T15:07:53.277 回答