schemacrawler 未在 MS sql server db 的图形选项中显示关系/边
Posted
技术标签:
【中文标题】schemacrawler 未在 MS sql server db 的图形选项中显示关系/边【英文标题】:schemacrawler not showing relationships/edges in graph option for MS sql server db 【发布时间】:2015-05-12 04:42:17 【问题描述】:我一直在尝试绘制 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
【问题讨论】:
您的具体问题是什么? 为什么我看不到关系/边缘? 【参考方案1】:Thomas,请使用 SchemaCrawler 12.05.02 或更高版本。检测弱关系或隐含关系的算法已得到增强,您现在应该可以看到想要在图中看到的边。
Sualeh Fatehi,SchemaCrawler
【讨论】:
谢谢 Sualeh。正如您所提到的,应该设置选项 -infolevel="maximum" 以查看图表中的关系。 SchemaCrawler 12.06.03 添加了隐藏图表中空表的选项:-hideemptytables以上是关于schemacrawler 未在 MS sql server db 的图形选项中显示关系/边的主要内容,如果未能解决你的问题,请参考以下文章