在Web应用程序中可视化schemacrawler输出的方法

时间:2015-03-24 11:07:49

标签: schemacrawler

任何人都可以提出一种在webapplication中可视化schemacrawler输出的好方法。我需要输出作为ER diragram。是否有任何使用DOT格式的好的javascript或jquery插件?当我尝试以点格式获得输出时,还有一个问题是输出为

系统信息

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

产品名称SchemaCrawler
产品版本12.04.02

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

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

JDBC驱动程序信息 - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -

驱动程序名称MySQL Connector 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.dbconnection

                                                             [table]

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

                                                       [primary key]

id升序
                                    自动递增

demodb.roles

                                                             [table]

roleId INT NOT NULL
  roleName VARCHAR(45)NOT NULL

                                                       [primary key]

roleId升序

demodb.userdetails

                                                             [table]

id INT NOT NULL
                                    自增
  名称VARCHAR(45)
  dob日期
  性别VARCHAR(1)
  bloodgroup VARCHAR(5)
  地址VARCHAR(45)
  地点VARCHAR(45)
  城市VARCHAR(45)
  州VARCHAR(45)
  country VARCHAR(45)
  zipcode VARCHAR(45)
  移动VARCHAR(45)
  电子邮件VARCHAR(45)
  职业VARCHAR(45)

                                                       [primary key]

id升序
                                    自动递增

                                       [foreign key, with no action]

id< - demodb。user。userDetailsId

demodb.userroles

                                                             [table]

id INT NOT NULL
                                    自增
  username VARCHAR(45)NOT NULL
  roleName VARCHAR(45)NOT NULL

                                                       [primary key]

id升序
                                    自动递增

demodb的。user

                                                             [table]

用户名VARCHAR(100)NOT NULL
  password VARCHAR(300)NOT NULL
  userDetailsId INT NOT NULL
  活动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和点

1 个答案:

答案 0 :(得分:1)

卡德尔,

对于Web输出,您可以使用SchemaCrawler提供的一些输出选项。一种选择是在&#34; htmlx&#34;中生成输出。 format,它将在单个文件中为您提供嵌入在HTML中的ER图。另一种选择是使用&#34; png&#34;格式生成PNG文件。由于您未在问题中包含此关键信息,因此很难在Spring上下文中看到您拥有的可执行文件。我建议你使用GraphExecutable。

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

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

希望这有帮助。

Sualeh Fatehi,SchemaCrawler