Redmine 中幾個重要的 MySQL table

來源:互聯網
上載者:User

    Redmine 系統大部分的資料都是儲存在資料庫中的,為了瞭解Redmine系統的整體結構,有必要搞清楚這些資料是怎麼儲存的,表的結構是什麼樣的,裡面有哪些內容。今天就研究一下這方面的內容,主要以code review相關的內容為主。

    首先介紹幾個常用MySQL操作命令:

ALTER: 修改已存在的資料表(例如增加/刪除列)和索引。 CREATE: 建立新的資料庫或資料表。 DELETE: 刪除表的記錄。 DROP: 刪除資料表或資料庫。 INDEX: 建立或刪除索引。 INSERT: 增加表的記錄。 SELECT: 顯示/搜尋表的記錄。 UPDATE: 修改表中已存在的記錄。

    這些命令使用起來比較簡單,具體用法可以查看相關的資料。

    使用查詢命令可以發現使用code review之後redmine一共使用了51個表。其中比較重要的如下幾個:

    1、projects

mysql> select id, name description, created_on, updated_on, identifier from projects;+----+----------------+---------------------+---------------------+------------+| id | description    | created_on          | updated_on          | identifier |+----+----------------+---------------------+---------------------+------------+|  1 | taobao project | 2011-08-25 14:44:47 | 2011-08-25 14:44:47 | taobao     |+----+----------------+---------------------+---------------------+------------+

    記錄建立的工程,內容不多,主要的有項目名稱,建立時間,標識符等。

    2、changesets

mysql> select id, repository_id, revision, committer, committed_on, comments, commit_date from changesets limit 4;+----+---------------+----------+-----------+---------------------+----------------------+-------------+| id | repository_id | revision | committer | committed_on        | comments             | commit_date |+----+---------------+----------+-----------+---------------------+----------------------+-------------+|  1 |             1 | 1        | svncenter | 2011-08-10 14:30:10 | add folder by System | 2011-08-10  ||  2 |             1 | 2        | svncenter | 2011-08-10 14:30:10 | add folder by System | 2011-08-10  ||  3 |             1 | 3        | svncenter | 2011-08-10 14:30:11 | add folder by System | 2011-08-10  ||  4 |             1 | 4        | svncenter | 2011-08-10 14:30:11 | add folder by System | 2011-08-10  |+----+---------------+----------+-----------+---------------------+----------------------+-------------+

  

    儲存代碼每一次修改的記錄,其中repository_id代表屬於那個工程的程式碼程式庫,revision是版本號碼,每次修改都回增加一個版本號碼,committer是修改人,committed_on代表修改時間,comments是修改內容的注釋,commit_date是建立日期。

    3、changes

mysql> select * from changes limit 4;+----+--------------+--------+-----------------+-----------+---------------+----------+--------+| id | changeset_id | action | path            | from_path | from_revision | revision | branch |+----+--------------+--------+-----------------+-----------+---------------+----------+--------+|  1 |            1 | A      | /trunk          | NULL      | NULL          | NULL     | NULL   ||  2 |            2 | A      | /trunk/tmstable | NULL      | NULL          | NULL     | NULL   ||  3 |            3 | A      | /branches       | NULL      | NULL          | NULL     | NULL   ||  4 |            4 | A      | /tags           | NULL      | NULL          | NULL     | NULL   |+----+--------------+--------+-----------------+-----------+---------------+----------+--------+

    詳細記錄changesets中的每一個變化,changeset_id對應之前changesets中的變化版本,每一個版本可能會對應多個changes,action是變化的操作,有三種,A代表新增檔案或檔案夾,D代表刪除檔案或檔案夾,M代表修改檔案或檔案夾,path代表檔案的路勁,from_path代表來源檔案的路徑,只在M是有效,from_revision和revision代表修改前後的版本,一般為NULL。

    4、repositories

mysql> select id, project_id, url, type, path_encoding from repositories;+----+------------+------------------------------------------+------------+---------------+| id | project_id | url                                      | type       | path_encoding |+----+------------+------------------------------------------+------------+---------------+|  1 |          1 | http://svn.app.taobao.net/repos/tmstable | Subversion | NULL          |+----+------------+------------------------------------------+------------+---------------+

    版本庫儲存編輯的SVN版本路徑。

    Redmine中編輯的主要代碼就儲存在這幾個資料庫中,通過查詢這些資料庫表,可以得到我們要評審的代碼錶。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.