うっかり
trac-admin `pwd` ticket_type ""
などとして空文字列をチケット分類やプライオリティに登録してしまい、trac-adminから削除できなくなったときの対処。
Tracのdbディレクトリにこれらを管理するtrac.dbがある。これはsqlite2のデータベースファイルなので、これを直接編集してやれば良い。
#sqlite ./trac.db sqlite> select * from enum where type="ticket_type"; type|name|value ticket_type|defect|1 ticket_type|enhancement|2 ticket_type|task|3 ticket_type||4 <- この辺がまずい sqlite> delete from enum where type="ticket_type" and value=4; sqlite> select * from enum where type="ticket_type"; type|name|value ticket_type|defect|1 ticket_type|enhancement|2 ticket_type|task|3
この問題は Trac0.9.4で発生。最新版では対応済みかも。