1

我的 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 但得到了相同的结果。

4

3 回答 3

1

实际上我有同样的问题 - 表名被删除(有点溢出)。我一直在使用纯 Java Graphviz 库,如https://www.schemacrawler.com/diagramming.html所述。一旦我安装了完整的 Graphviz,所有表名都符合预期。

解决方案:不要只使用纯 Java Graphviz 库。

于 2018-11-08T11:20:25.350 回答
0

博兹,

很抱歉,SchemaCrawler 不直接控制图形输出——这是委托给 Graphviz 的。通过调查 Graphviz 选项,您走在了正确的轨道上。您可以尝试的一件事是使用 SchemaCrawler 的“纯 Java”Graphviz 集成。下载主发行版,并阅读有关如何下载“纯 Java”Graphviz 的说明。请看看这是否有所作为。

Sualeh Fatehi,SchemaCrawler

于 2018-09-28T00:43:37.027 回答
0

解决了...

我没有安装graphviz。以为我有,但没有。所以……
sudo apt install graphviz 修好了。

感谢苏莱的回复。我不确定在没有安装 graphviz 的情况下如何生成图表。查看代码,我看到它尝试使用 graphviz 的地方,然后在 graphviz 不可用时尝试 Java。我没有在调试器或任何东西中运行它,但它似乎最终使用了 Java。回想起来,如果 schemacrawler 打印出 graphviz 丢失的警告或警告,它可能会有所帮助。但实际上我认为这是我自己的错误。...顺便说一句,喜欢阅读您的代码。#竖起大拇指

于 2018-09-28T12:43:08.183 回答