我的SchemaCrawler(版本15.01.03)架构图正在Ubuntu 18.04 LTS上截断表名。由于“ [TABLE]”符号也很容易出现出血,因此看起来表格通常绘制得过于狭窄。在Mac上呈现时,效果看起来也很好。
有没有办法解决这个问题?
---更新---
我试过更改_schemacrawler / config / schemacrawler.config.properties中的字体。默认情况下将其设置为Helvetica,但是Ubuntu没有Helvetica,所以我将其更改为Mukti Narrow ...
schemacrawler.graph.graphviz.node.fontname=Mukti Narrow
这会导致较少的文本被截断,但不能完全解决。比较不同的字体会让我觉得不管字体如何,宽度计算都是一样的。
属性文件列出了用于graphviz设置的这两个URL ...
https://www.graphviz.org/doc/info/attrs.html
https://www.graphviz.org/doc/info/command.html
我已经尝试了其中列出的许多设置,但是到目前为止,还没有找到可以更改字体宽度计算的设置。
我还安装了Helvetica,但得到的结果相同。
答案 0 :(得分:1)
实际上,我遇到了同样的问题-表名被剪切(有点溢出)。我一直使用https://www.schemacrawler.com/diagramming.html所述的纯Java Graphviz库。安装完完整的Graphviz之后,所有表名都将按预期放入图表中。
解决方案:不要只使用纯Java Graphviz库。
答案 1 :(得分:0)
Boz,
很抱歉,但是SchemaCrawler不能直接控制图形输出-这委托给Graphviz。通过研究Graphviz选项,您可以走上正确的轨道。您可以尝试使用的一件事是SchemaCrawler的“纯Java” Graphviz集成。下载the main distribution,并按照有关如何下载“纯Java” Graphviz的说明进行操作。请查看是否有区别。
Sualeh Fatehi,SchemaCrawler
答案 2 :(得分:0)
已解决...
我没有安装graphviz。以为我有但没有。所以...
sudo apt install graphviz
修复它。
感谢Sualeh的回复。我不确定在没有安装graphviz的情况下如何生成图形。查看代码,我看到一个尝试使用graphviz的地方,然后在没有graphviz的情况下尝试Java。我没有在调试器等中运行它,但它似乎就像它最终使用Java一样。回想起来,如果schemacrawler打印出警告或警告graphviz丢失,则可能会有所帮助。但实际上,我将此视为自己的错误。 ...喜欢顺便阅读您的代码。 #thumbsup