Trac のユーザが、まだ必要な Wiki ページを誤って消してしまった。
このバージョンを削除、ではなく、このページを削除、で消してしまったので
Trac からはリストアはできない(はず。多分)。
ひょっとすると論理削除されただけで、実は db/trac.db の中にはあるのかもしれないけど
trac.db を sqlite でごそごそする時間がもったいなかったので、
LTO の今朝のダンプから該当の Trac プロジェクトの trac.db を (rename to で
別のファイル名で)リストアして、別の(休止状態の、というか
ぼくの検証用の) Trac プロジェクトの trac.db に一時的に載せ替えてみる。
(現在進行形のプロジェクトなので、チケットが頻繁に更新されており、
たんに上書きで終了というわけにはいかない。)
予想通り、ちゃんと動いてくれたので、編集モードにはいってコピー、
本来のプロジェクトの Wiki ページに戻ってペースト、で無事復旧。
仮の置き場として使った検証用 Trac プロジェクトの trac.db をもとに戻して作業完了。
Trac は sqlite をつかっていてくれるおかげで、この辺が身軽というか柔軟な感じで
いいですね。
教訓:
WIKI_VIEW, WIKI_CREATE, WIKI_MODIFY をするからといって、WIKI_DELETE 権限が
必要ないユーザに (手抜きをしようとして) WIKI_ADMIN 権限を与えると仕事が増える(かもしれない)。

Leave a comment