2007-07-14 20:55 用Aqua Data Studio存取Trac.db以加速權限設定

裝了Trac後開始設置使用權限,不過使用者不少,一個一個指派實在太花時間了,如果能由資料庫直接用SQL敘述來下指令應該比較省事,為了一勞永逸以減少日後維護的負擔,還是研究一下如何連接Trac使用的SQLite資料庫吧。以下是我使用Aqua Data Studio(以下簡稱ADS)透過JDBC連接的步驟。
  1. 首先由http://www.zentus.com/sqlitejdbc/下載SQLite JDBC Driver,我下載的是Pure Java的版本
  2. 下載後把sqlitejdbc-v036-nested.jar複製到ADS安裝目錄的 lib 資料夾裡
  3. 【ADS功能表→Server→Register Server】,在RDBMS選項裡選擇Generic - JDBC,在右方Location欄位輸入如下資料:
    • URL: jdbc:sqlite:/c:/trac/專案代碼/trac.db   在最後一個冒號後面指定trac.db的完整路徑,磁碟機代號前後都有正斜線( / )
    • Driver: org.sqlite.JDBC
    • Driver Location: C:Program FilesADSlibsqlitejdbc-v036-nested.jar
  4. 右方最上面的Name給定一個名稱後按OK
設 定好JDBC連線後按Ctrl+Q打開Query Analyzer視窗,逐步展開Schemas,就能看到儲存在trac.db裡的資料表,由資料表名稱可以猜到使用權限是PERMISSION。我們可 以設置幾個不同的群組,再把使用者指派給特定的群組,再針對群組設定能使用的權限即可。

以下把user1、user2、user3分別指派給 g_admin、g_pg、g_qa三個群組:
  INSERT INTO permission(username, action)  VALUES('user1', 'g_admin');
  INSERT INTO permission(username, action)  VALUES('user2', 'g_pg');
  INSERT INTO permission(username, action)  VALUES('user3', 'g_qa');

接著設置群組g_admin擁有所有權限:
INSERT INTO permission(username, action) VALUES('g_admin', 'BROWSER_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'CHANGESET_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'FILE_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'LOG_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'MILESTONE_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'REPORT_SQL_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'REPORT_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'ROADMAP_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'SEARCH_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'TICKET_CREATE');
INSERT INTO permission(username, action)  VALUES('g_admin', 'TICKET_MODIFY');
INSERT INTO permission(username, action)  VALUES('g_admin', 'TICKET_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'TIMELINE_VIEW');
INSERT INTO permission(username, action)  VALUES('g_admin', 'WIKI_CREATE');
INSERT INTO permission(username, action)  VALUES('g_admin', 'WIKI_MODIFY');
INSERT INTO permission(username, action)  VALUES('g_admin', 'WIKI_VIEW');

其他群組就依此類推並減少部份權限即可。檢視資料表,對於由別的Issue/Bug tracking系統要匯入資料會有不少幫助的。
平均分數:0 顆星    投票人數:0
我要評分:
回應
挺不賴地~贊助一下
服務於軟體業的資訊老兵。興趣廣泛,學習力佳,好奇心強。
噗浪/互動式留言板
累積 | 今日
loading......
關鍵字
Re:[使用svchost viewer檢視你電...],By 科技與資訊研究所 於2008-11-11
Re:[【部落格更新】 增加中央氣象局衛星雲圖],By ~平淡生活~ 於2008-11-04
Re:[【部落格更新】 增加中央氣象局衛星雲圖],By ~平淡生活~ 於2008-10-07
Re:[標籤雲-翻譯自wikipedia],By 4664-1946~1964嬰兒潮、Baby Boomers 於2008-07-22
Re:[標籤雲-翻譯自wikipedia],By 4664-1946~1964嬰兒潮、Baby Boomers 於2008-07-22
熱門搜尋書籤
有朋自遠方來~

website counter
台灣部落格列表 PageRank
    沒有新回應!






如何使用RSS
Powered by Xuite