使用SchemaSpy生成数据库文档

当开始一个新的项目,那你不得不弄清楚项目经理设计的数据库。怎样快速的理解数据库表之间的关系呢?

这里就有一个开源的小工具 SchemaSpy

Java-based ,需要 JAVA5 及以上。在使用 SchemaSpy 之前,你需要安装 JAVAGraphviz Graphviz 工具,下载个 MSI 安装文件就可以使用。是用来生成 ER 图的

如果你喜欢命令行,可以这样使用

java -jar schemaSpy.jar -t dbType -db dbName [-s schema] -u user [-p password] -o outputDir

 

 

如果你喜欢 ANT ,可以这样使用

<target name="schema" depends="check-driver" if="db.driver.present">
    <java jar="schemaSpy_3.0.0.jar"
        output="${report.dir}/schemaspy-out.log"
        error="${report.dir}/schemaspy-error.log"
        fork="true">
        <arg line="-t orathin"/>
        <arg line="-db ${database}"/>
        <arg line="-u ${userid}"/>
        <arg line="-p ${password}"/>
        <arg line="-s ${schema}"/>
        <arg line="-cp ${db.driver}"/>
        <arg line="-host ${host}"/>
        <arg line="-port ${port}"/>
        <arg line="-o ${report.dir}"/>
    </java>
</target>

 

    使用 java Ant 任务调用 SchemaSpy ,解释如下:

  • -t 为数据库类型(有效值为 mysqloradb2 ,等等。)
  • -host 为托管数据库的计算机名。
  • -port 为数据库 URL 的端口数。
  • -u 为数据库用户名。
  • -p 为数据库密码。
  • -cp 为类路径(用于指示数据库驱动程序 JAR 文件的位置)。
  • -o 为输出目录的位置。  

现在举个 MYSQL 的例子。

 

<project name="schemaSpy" basedir=".">
<target name="schemaSpyMysql">
       <property name="reports.dir" value="${basedir}/ reports" />
       <java jar="lib/schemaSpy_5.0.0.jar" output="${basedir}/output.log" error="${basedir}/error.log" fork="true">
           <arg line="-t mysql" />
           <arg line="-host localhost" />
           <arg line="-port 3306" />
           <arg line="-db test" />
           <arg line="-u root" />
           <arg line="-p 12346" />
           <arg line="-cp lib/mysql.jar" />
           <arg line="-o ${reports.dir}" />
       </java>
    </target>
</project>

 

 

 

深入阅读

http://jbrugge.com/blog/2006/10/18/schemaspy-to-the-rescue/

http://schemaspy.sourceforge.net/

http://www.blogjava.net/hjh/archive/2010/05/16/321095.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值