0

任何人都可以提出一种在 Web 应用程序中可视化 schemacrawler 输出的好方法吗?我需要输出为 ER 图表。有没有使用 DOT 格式的好的 javascript 或 jquery 插件?当我尝试以点格式获取输出时,另一件事是输出为

系统信息

SchemaCrawler 信息 -=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=- -=--=--=--=--=--=--=--=-

产品名称 SchemaCrawler
产品版本 12.04.02

数据库信息 -=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=- -=--=--=--=--=--=--=--=-

数据库产品名 MySQL
数据库产品版本 5.6.19-0ubuntu0.14.04.1
数据库用户名 demo@localhost

JDBC驱动信息-=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--= --=--=--=--=--=--=--=--=-

驱动程序名称 MySQL 连接器 Java
驱动程序版本 mysql-connector-java-5.1.34 (修订版:jess.balint@oracle.com-20141014163213-wqbwpf1ok2kvo1om )驱动程序类名 com.mysql.jdbc.Driver
url jdbc:mysql://localhost: 3306/demodb 符合 JDBC 错误

demodb.db连接

                                                             [table]

id INT NOT NULL
自增
dbmsType VARCHAR(100) ipAddress VARCHAR(
100)
port VARCHAR(10)
username VARCHAR(100)
此表用于存储数据库连接密码 VARCHAR(100)
databaseName VARCHAR(100)

                                                       [primary key]

id 升序
自动递增

演示数据库角色

                                                             [table]

roleId INT NOT NULL
roleName VARCHAR(45) NOT NULL

                                                       [primary key]

roleId 升序

demodb.user详细信息

                                                             [table]

id INT NOT NULL
自动递增
名称 VARCHAR(45)出生
日期
性别 VARCHAR(1)
血型 VARCHAR(5)
地址 VARCHAR(45)
地点 VARCHAR(45)
城市 VARCHAR(45)
州 VARCHAR(45)
国家 VARCHAR(45)
邮政编码VARCHAR(45)
移动 VARCHAR(45)
电子邮件 VARCHAR(45)
职业 VARCHAR(45)

                                                       [primary key]

id 升序
自动递增

                                       [foreign key, with no action]

id <-- 演示数据库。user.userDetailsId

demodb.userroles

                                                             [table]

id INT NOT NULL
自增
用户名 VARCHAR(45) NOT NULL
roleName VARCHAR(45) NOT NULL

                                                       [primary key]

id 升序
自动递增

演示数据库。user

                                                             [table]

username VARCHAR(100) NOT NULL
password VARCHAR(300) NOT NULL
userDetailsId INT NOT NULL
active INT NOT NULL

                                                       [primary key]

用户名升序

                                       [foreign key, with no action]

userDetailsId --> demodb.userdetails.id

                                                  [non-unique index]

userDetailsId 升序

                                                      [unique index]

用户名升序

我的 schemacrawler-context.xml 就像

<bean id="outputOptions" class="schemacrawler.tools.options.OutputOptions">
    <property name="outputFormatValue" value="DOT" />
    <!-- <property name="outputFile" value="scOutput.txt" /> --><!-- This should be given(writer not file) given from the program. -->
</bean>

它不适用于 DOT 和 dot

4

1 回答 1

1

卡德尔,

对于 Web 输出,您可以从 SchemaCrawler 中获得一些开箱即用的输出选项。一种选择是以“htmlx”格式生成输出,这将在单个文件中为您提供嵌入在 HTML 中的 ER 图。另一种选择是使用“png”格式生成 PNG 文件。很难看到您在 Spring 上下文中拥有什么可执行文件,因为您没有在问题中包含此关键信息。我建议您使用 GraphExecutable。

请注意,为了生成 ER 图,您需要在 Web 服务器上安装GraphViz 。GraphViz将始终生成一个文件,并且不能使用 Java 编写器。因此,请为OutputOptions使用最合适的构造函数。

如果你喜欢,你可以让 SchemaCrawler 生成 DOT 格式。同样,请为OutputOptions使用最合适的构造函数。为此,您不需要 GraphViz。您可以使用viz.js使用 JavaScript 可视化 DOT 文件。

希望这可以帮助。

Sualeh Fatehi,SchemaCrawler

于 2015-03-24T17:08:21.323 回答