PageRank



轉移公告

計劃把 http://blog.hoamon.info/ 文章全部轉移至 http://www.hoamon.info/blog/ 這裡,而本 Blogger 站台的文章近 500 篇,我預計在 2014-12-31 前移轉完畢,完成後 http://blog.hoamon.info/ 將只作代轉服務,一律把舊連結如 http://blog.hoamon.info/index.html 轉成 http://www.hoamon.info/blog/index.html ,敬請舊雨新知互相走告。

新文章只發佈在 http://www.hoamon.info/blog/

何岳峰 敬上

2009年7月7日 星期二

使用 modelviz.py 來製作 Django-Based 應用系統的資料庫結構圖

要看懂應用系統的運作原理,從資料庫下手是一定要的。

了解了資料庫結構後,對其他執行方法的解讀就容易了。當然如果原本開發的人,其想法與別人太不一樣的話,在「他是比較優秀」的原因下,那對後面來看系統的人來說,就是一種莫大的幫助; 如果是程度太低的話,那就只能怪當初給他作教育訓練的人。為什麼程式設計師那麼不長進,還讓他開發系統。

如果系統是使用 django 架構開發出來的,那麼在資料表的展示上,我們可以使用 modelviz.py 程式,把資料表結構匯出成 dot 格式,然後再利用 Graphviz 軟體繪製成 PNG 圖檔。

這個方法理論上是可以在 Linux/Mac/Windows 上運作的,不過,你知道的,我愛用 Linux ,所以我保證在 Linux 可以這麼作,其他系統就有賴你們了。

首先是使用 modelviz.py 把 app 的資料表內容及關係匯出成 dot 格式。在 settings.py 同一層的資料夾中,鍵入

> ./modelviz.py [-d] project general > XXX.dot

project, general 是我的 app name,看你想知道那些 app 的資料表關係,就填那些。且你想知道的 app ,必須是有存在於 settings.py 的 INSTALLED_APPS 中的。另外在有加 -d 的情況下,它不會列出資料表的欄位,只顯示關係。

有了 XXX.dot 後,再利用 Graphviz 軟體把它轉成圖檔。

> dot XXX.dot -Tpng -o XXX.png

這樣你就可以從 XXX.png 中了解這些資料表之間的關係了。

如下圖:



其中,可以看到 User, Company 兩個表格並沒有顯現它們的欄位,這是因為這兩個表格處於 user app 中,但我並沒有在 modelviz.py 指令中要求它要秀出這個 app 。

沒有留言:

張貼留言

Related Posts Plugin for WordPress, Blogger...