SCROLL
Среднее время на прочтение: 1 мин.

Восстановление удаленной задачи в Redmine из резервной копии базы данных (MySQL)

Однажды столкнувшись с случайным удалением задачи в Redmine, и не возможностью ее восстановления какими либо штатными средствами, пришлось проработать шаги восстановления удаленной задачи из резервной копии базы данных MySQL (Надеюсь все делают резервные копии !?).

Восстановить задачу представляется возможным только при наличии резервной копии базы данных. На примере будет выполнена процедура восстановления удаленной задачи c ID 81.

Создаем временную базу данных (redmine_old) и восстанавливаем в нее данные из резервной копии.

mysqladmin -u root -p create redmine_old
mysql -u root -p redmine_old < redmine_backup.sql

Выполняем перемещение удаленной задачи (ID 81) и данные о ней в связующих таблицах из временной базы (redmine_old) в основную (redmine):

INSERT INTO redmine.issues SELECT * FROM redmine_old.issues WHERE id = 81;
INSERT INTO redmine.journals SELECT * FROM redmine_old.journals WHERE journalized_id = 81;
INSERT INTO redmine.journal_details SELECT * FROM redmine_old.journal_details WHERE journal_id = 81;
INSERT INTO redmine.custom_values SELECT * FROM redmine_old.custom_values WHERE customized_id = 81;
INSERT INTO redmine.attachments SELECT * FROM redmine_old.attachments WHERE container_id = 81;
INSERT INTO redmine.time_entries SELECT * FROM redmine_old.time_entries WHERE issue_id = 81;
INSERT INTO redmine.issue_relations SELECT * FROM redmine_old.issue_relations WHERE issue_from_id = 81;
INSERT INTO redmine.watchers SELECT * FROM redmine_old.watchers WHERE watchable_id = 81;
DROP database [redmine_old];
QUIT

Проверяем наличие восстановленной задачи. Вот так можно восстановить удаленную задачу, конечно содержимое ее будет актуально на момент когда создавалась резервная копия базы данных.

Обсуждение

0 комментариев

Нет комментариев.