http://trac.edgewall.org/wiki/TracDev/DatabaseSchema
チケットの基本情報が登録されるテーブルです。
| カラム名 | Label | 解説 |
| ID | チケット番号 | チケットの管理ID。チケットごとに割り振られているユニークな番号です。 ticket_id_seqというシーケンスによって自動採番されます。 |
| TYPE | チケットの分類 | チケットに登録された分類名(※) |
| TIME | 登録日時 | チケット登録日時。Unixタイムスタンプで保管しています。 |
| CHANGETIME | 最終変更日 | チケット最終更新日時。Unixタイムスタンプで保管しています。 |
| COMPONENT | コンポーネント | チケットに登録されたコンポーネント名(※) |
| SERVERITY | 重要度 | チケットに登録された重要度(※) |
| PRIORITY | 優先度 | チケットに登録された優先度(※) |
| OWNER | 担当者 | チケットに登録されたそのチケットの担当者 |
| REPORTER | 報告者 | チケットを登録した人 |
| CC | 関係者 | チケットに登録されたチケットの関係者 |
| VERSION | バージョン | チケットに登録されたバージョン情報です。(※) |
| MILESTONE | マイルストーン | チケットに登録されたマイルストン(※) |
| STATUS | 状況 | チケットの現在の状況。 new : 新規登録 closed : 解決済み reopened : 一旦解決したチケットの着手再開 の何れかの値が入ります。 |
| RESOLUTION | 解決方法 | チケットの解決方法。チケットのSTATUSが「closed」の場合のみセットされます。 fixed : 解決(修正) invalid : 無効なチケット wontfix : 対応(修正)しないチケット duplicate : 重複しているチケット worksforme : 報告が再現しないチケット の何れかの値が入ります。 |
| SUMMARY | チケットの概要 | チケットの概要 |
| DESCRIPTION | チケットの説明 | チケットについての完全な説明。Wiki文章のフォーマットでそのまま格納されます。 |
| KEYWORDS | キーワード | チケットに登録されたキーワード |
チケットの更新情報が登録されるテーブルです。
ticketテーブルの更新情報だけではなく、ticket_customの更新情報も登録されます。
| カラム名 | 解説 |
| ticket | チケットの管理ID。ticketテーブルのカラムIDと同じ要素です。 |
| time | 変更日時。Unixタイムスタンプで保管しています。 |
| author | 変更者 |
| field | 変更箇所のカラム名。チケットが変更された際に該当する項目のカラム名が格納されます。 (tikcetテーブルもしくはticket_customのカラム名) |
| oldvalue | 変更前の値 |
| newvalue | 変更後の値 |
追加したカスタムフィールドの値が登録されるテーブルです。
| カラム名 | 解説 |
| ticket | チケットの管理ID。ticketテーブルのカラムIDと同じ要素です。 |
| name | カスタムフィールド名 |
| value | カスタムフィールドの値 |
Trac本体の0.11から0.12へのバージョンアップに伴い、チケット関連のテーブルが仕様変更になっています。
具体的には登録日時と更新日時等(created, modified, date, time)の日時関連のカラムをミリ秒まで格納するようになりました。(参照:Microsecondtimestamps)
この影響でレポート中のSQLで日付のカラム(created, modified, date, time)をdateやstrftimeなどの日付関連の関数で変換している場合には、変換元の値を1000000で割らなければ日付関数での変換が出来なくなっています。
レポート表示の為の整形については後述する列名による表示整形で対処可能ですが、比較条件として日付を処理している場合には注意が必要です。
具体的にdate関数の場合には
0.11以前: date(time,'unixepoch','localtime') 0.12以降: date(time*1e-6,'unixepoch','localtime')
とする必要があります。
strftime関数の場合にはさらに注意が必要で、直接値を割るとレポートでエラーとなってしまうため、一旦date関数で変換後に再変換を行う必要があります。
0.11以前: strftime('%Y/%m/%d', time,'unixepoch''localtime')
0.12以降: strftime('%Y/%m/%d', date(time*1e-6,'unixepoch','localtime'))
この仕様変更に伴い!Trac-0.12.1.ja1では、レポート機能での列名による表示整形を日本語対応しています。
列名による表示整形では列名の末尾が 時刻 で終わるカラムはtimeとして、 日付で終わるカラムは date として、 日時 で終わるカラムは datetime に、それぞれ整形されます。
列名を整形規則に合わせた場合には自動的に整形されるためSQLの関数での表示用の整形が不要になっています。
表示整形についての詳しい内容については、インストールしたTracに同梱のwiki TracReportsを参照してください。