用schemaSpy制作數(shù)據(jù)庫(kù)文檔
Posted on 2010-05-16 16:16 不需要解釋 閱讀(537) 評(píng)論(0) 編輯 收藏 所屬分類: java 、maven自動(dòng)地可視化表示數(shù)據(jù)庫(kù)也可以讓您受益匪淺。實(shí)體關(guān)系圖(ERD)是實(shí)現(xiàn)數(shù)據(jù)庫(kù)可視化的最流行的圖示類型。大多數(shù)創(chuàng)建 ERD 的工具(例如,ERWinfor)都需要手動(dòng)生成 ERD。雖然我將要示范的工具 SchemaSpy 無(wú)法與現(xiàn)存的一些更復(fù)雜的工具媲美,但是它能夠提供數(shù)據(jù)庫(kù)的高級(jí) ERD 視圖 — 以及約束、關(guān)系等。而且,通過(guò)自動(dòng)構(gòu)建來(lái)運(yùn)行它,您就可以輕松地從您的版本控制庫(kù)中檢查數(shù)據(jù)定義語(yǔ)言(Data Definition Language,DDL)的最新顯示。
Ant 腳本使用 SchemaSpy 工具來(lái)創(chuàng)建 Javadoc 格式的文件:
結(jié)合使用 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 任務(wù)調(diào)用 SchemaSpy,傳遞了很多屬性:
-t
為數(shù)據(jù)庫(kù)類型(有效值為mysql
、ora
、db2
,等等。)-host
為托管數(shù)據(jù)庫(kù)的計(jì)算機(jī)名。-port
為數(shù)據(jù)庫(kù) URL 的端口數(shù)。-u
為數(shù)據(jù)庫(kù)用戶名。-p
為數(shù)據(jù)庫(kù)密碼。-cp
為類路徑(用于指示數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 JAR 文件的位置)。-o
為輸出目錄的位置。
這些 SchemaSpy 的命令行屬性用于生成顯示 ERD 的 HTML 文件
通過(guò)結(jié)合使用多種工具、作為構(gòu)建的一部分針對(duì)數(shù)據(jù)庫(kù)執(zhí)行 ERD 生成腳本,并調(diào)度 ERD 生成,您就可以在開(kāi)發(fā)過(guò)程中輕松、快速地做出很多數(shù)據(jù)庫(kù)決策。
另外,對(duì)于喜歡maven的同學(xué),SchemaSpy 也提供了plugin
http://maven.wakaleo.com/mojo/maven-schemaspy-plugin/faq.html