2015年6月3日 星期三

[Tools]SchemaSpy 教學

[Tools]SchemaSpy 教學
SchemaSpy 是一套將 DB Schema 圖形化的工具,通常是用做逆向工程使用。
官方網頁
目前的版本出到 5.0.0
不過在用上因為是 command line 的形式,所以有點難上手,但是有熱心的網友提供圖形化(GUI)的操作介面,將一些複雜的步驟簡化了。
SchemaSpyGUI

要使用該圖形化操作介面,需要準備幾個部分
一、DB driver
端看你要連結的DB型態而定,目前SchemaSpy 支援的DB如下
官方說明

二、SchemaSpy的程式(廢話)
抓取下來的 jar檔,可以直接放在 SchemaSpyGUI的目錄下
三、Graphviz
這套就是用來幫 SchemaSpy 畫圖的軟體
下載 =>
Windows 版本
可以直接下載 zip 的版本,然後跟 SchemaSpyGUI 放在同一個目錄下,記得SchemaSpyGUI要使用他的話,還必須設定環境變數(PATH)

本文使用 Oracle 當作連線範例,準備的是 Oracle 的 DB driver => http://goo.gl/IyT3hu
點擊 SchemaSpyGUI 目錄中的 schemaSpyGUI.bat 就可以執行,接下來要設定相關配置,設定好的 SchemaSpyGUI 畫面如下:

【Parameters/Flags】
DB Type: 請選擇要連結的 DB
DB Host: DB 的 ip
DB Name: 要連結的 DB 名稱,如 xxx.xxx.xxx/KING,KING就是名稱
DB User: 使用者帳號
DB Port: DB 的連接阜
Password: 密碼
Path To DB driver: DB 驅動的位置
Path To SchemaSpy: SchemaSpy jar 檔位置
其餘的部分可以自己測試看看,因為我要輸出圖形的關聯,但不想太佔空間,故選擇 Low Quality。

【Output Options】
這邊最主要是設定輸出的參數及輸出的位置,若要輸出的資料有中文(如comment)請記得選擇 UTF-8
都設定好了之後,就執行吧 Start SchemaSpy,若運作的過程中有發生什麼錯誤,都會顯示在 SchemaSpy Output 的分頁中,依照當中所述去排除,通常可能是檔案路徑不合法或者是找不到驅動,又或者是 Graphviz 沒有正確設定好 PATH。

之後會將結果輸出在當初設定的目錄,會產生一個 index.html,點選看看畫面會像這樣:
Table Schema
關係圖

沒有留言 :

張貼留言