自动地可视化表示数据库也可以让您受益匪浅。实体关系图(ERD)是实现数据库可视化的最流行的图示类型。大多数创建 ERD 的工具(例如,ERWinfor)都需要手动生成 ERD。虽然我将要示范的工具 SchemaSpy 无法与现存的一些更复杂的工具媲美,但是它能够提供数据库的高级 ERD 视图 — 以及约束、关系等。而且,通过自动构建来运行它,您就可以轻松地从您的版本控制库中检查数据定义语言(Data Definition Language,DDL)的最新显示。
Ant 脚本使用 SchemaSpy 工具来创建 Javadoc 格式的文件:
结合使用 SchemaSpy、Ant 和 Javadoc
<property name="reports.dir" value="${basedir}"/>
<java jar="schemaSpy_3.1.1.jar"
output="${reports.dir}/output.log"
error="${reports.dir}/error.log"
fork="true">
<arg line="-t mysql"/>
<arg line="-host localhost"/>
<arg line="-port 3306"/>
<arg line="-db brewery"/>
<arg line="-u root"/>
<arg line="-p sa"/>
<arg line="-cp mysql-connector-java-5.0.5-bin.jar"/>
<arg line="-o ${reports.dir}"/>
</java>
使用 java
Ant 任务调用 SchemaSpy,传递了很多属性:
-t
为数据库类型(有效值为 mysql
、ora
、db2
,等等。)
-host
为托管数据库的计算机名。
-port
为数据库 URL 的端口数。
-u
为数据库用户名。
-p
为数据库密码。
-cp
为类路径(用于指示数据库驱动程序 JAR 文件的位置)。
-o
为输出目录的位置。
这些 SchemaSpy 的命令行属性用于生成显示 ERD 的 HTML 文件
通过结合使用多种工具、作为构建的一部分针对数据库执行 ERD 生成脚本,并调度 ERD 生成,您就可以在开发过程中轻松、快速地做出很多数据库决策。
另外,对于喜欢maven的同学,SchemaSpy 也提供了plugin
http://maven.wakaleo.com/mojo/maven-schemaspy-plugin/faq.html