QA #297
奈良 裕記 さんがほぼ6年前に更新
h3. ■現象/要望
誤削除したチケットを復活したい
h3. ■解決策
■前提条件確認
誤削除の状況,環境は千差万別。
下記条件により、可能な対応は異なります。
1.削除したチケットの内容が不明/バックアップデータ有
2.チケット親子関係の使用有無
3.SCMとの連携要否
4.元の番号に復元する必要の有無
■保険&影響緩和策
DBダンプを定期的に自動作成しておくと、誤削除時のリカバリが容易になります。(保険)
テストサーバにリストアし、内容コピペで十分なケースが殆ど。
長期保存不要で上書き対応。
チケット削除権限は基本的にユーザに付与しない。却下などでCloseにする。 チケット削除権限は基本的にユーザに付与しない。削除必要な場合はadmin作業。
削除必要な場合はadmin作業。 却下などでCloseにする。
h4. ■復旧手順1(RedmineのDB対応の場合)
チケットを復旧する
http://daily-postit.blogspot.jp/2012/12/blog-post.html
具体的な作業内容は↓
Redmineの誤って削除したチケットをバックアップから復活させた話
http://shrkw.hatenablog.com/entry/how_to_recover_redmine_issue
テーブル間の関連などは、↓の「Redmineサーバ統合事例」を参照ください。(CM:-)
http://www.slideshare.net/y503unavailable/redmine-42182169
(要注意)チケットの親子関係を利用している場合は、lft,rgtの調整を行わないと、下記の様なトラブルを招く可能性があります。
http://dqn.sakusakutto.jp/2012/04/redmine.html
削除してしまったチケットを復活させる。
http://rms-099.hatenablog.jp/entry/20101231/1293736805
production.logの書込み内容を利用してチケット再作成
親子チケットの対応含む
h4. ■復旧手順2(RedmineのDBを弄りたくない&バックアップデータ有&SVN連携)
チケットを別途作成し、内容を設定します。
(バックアップ用データを見ながら or テストサーバにバックアップデータをリストアして内容確認しながらコピペ)
SVNのコミットメッセージを変更します。(refs #チケット番号を変更)
RedmineのDB修正も必要です。refs #番号の変更
changesets , changesets_issues , journals
h4. ■復旧手順3(RedmineのDBを弄りたくない&バックアップデータ有&SVN連携&admin操作削減)
・チケット再作成
・SVNの該当変更部分を一旦戻す。
・SVNに再度コミットする時に再作成したチケット番号と紐付ける。
h3. ■対応状況
作業事例はありますが、心して対応ください。
作業前のDBとレポジトリのフルバックアップは当然です。
SCMとの連携必要&元の番号に復元する必要が無ければ、
チケット新規作成&SVNコミットメッセージ変更を選択した方が安全かもしれません。
h3. ■補足
Redmine本家でも、誤削除の対応提案チケットが出ており、数十件の要望が出ています。希望者は+1しに行きましょう。。
Deleting an issue only marks it as being deleted
http://www.redmine.org/issues/1380
Soft delete of issues
http://www.redmine.org/issues/6666
現状ではシャドウコピー機能の無いWindowsファイルサーバですね。
(シャドウコピーがあれば、ユーザのリストア依頼は桁違いに減る)
戻る