2013-02-08 30 views
1

我們使用SQL查詢來完成我們公司(PostgreSQL)的大部分分析工作。目前有250多個查詢以固定目錄結構存儲(還有很多DDL/DML文件)。SQL查詢的自動文檔

是否有任何autodoc工具來創建所有這些查詢的文檔並生成一些輸出(例如html)?

我知道有一些工具,可用於功能/表/程序的文件,但沒有(據我所知)是適合的查詢,如:

在文檔中,我要跟蹤如下:

  • 文件名
  • SQL描述
  • 作者(S)
  • 項目(S)
  • 標籤

限制固定的目錄結構是顯而易見的 - 有很多次,其中查詢屬於邏輯上更多的文件夾,但你也選擇一個。我們試圖使用trac wiki,但它很複雜(您必須將每個版本的查詢複製/粘貼到wiki)。另一方面,你可以使用標籤,它很容易搜索,你有版本。我也嘗試使用一些查詢工具與先進的內置搜索(例如toad插件的日食),但你必須寫非常複雜的正則表達式來獲取你感興趣的文件。

這就是爲什麼我認爲autodoc方法是完成這項任務的唯一可能方式。

回答

1

我不認爲這樣的工具是容易實現的一般使用情況下,所以你最好的選擇就是看中慣例是寫你自己。最重要的是SQL的許多文檔生成器會嘗試跟蹤依賴關係等。你可以用表格相對容易地做到這一點(例如動態地發現外鍵),在某些情況下,你可以用函數來做到這一點,但除此之外,它變得真的難。注意我使用db對象使用postgresql_autodoc。能夠跟蹤到表是有問題的(如果查詢運行的是不同的search_path?有許多事情你不知道......)。

如果是我,我會考慮修改doxygen來跟蹤你想要的信息。只有在每個文件都有一個sql語句的情況下,纔可能做到這一點。例如,記錄文件是一回事,但與文檔查詢有很大不同。

但是我會建議採用一個可發現的存儲過程接口並將註釋放在SQL COMMENT ON語句中。這就是我們所做的,它使得自動文檔更容易。然後你可以使用postgresql_autodoc或者其他工具。