Восстановление данных Redmine из производственного журнала

У меня был проект в Redmine с более чем 600 вопросов. Я перенес все вопросы в другой проект. Я понятия не имел, что шаг удаляет все данные для пользовательских полей!

таким образом, все значения пользовательских полей теперь потеряны. Я не создавал резервную копию базы данных перед этим действием, поскольку я действительно не думал, что причиню какой-либо вред, перемещая проблемы, поскольку перемещение является родной функцией в пользовательском интерфейсе.

то, что я заметил, хотя, что производство.журнал содержит события для все создания и обновления. Все мои 600 вопросов в порядке в журнале производства. Как я могу использовать эти операторы журнала, чтобы повторить действия? Если я могу импортировать все действия журнала, я могу перенести пользовательские поля, которые он записывает в исходный экземпляр Redmine, и восстановить мои значения.

записи выглядят так:

Processing IssuesController#update (for XX.XX.XX.X at 2013-02-07 11:19:54) [PUT]
Parameters: {"_method"=>"put", "authenticity_token"=>"nWNSSRYjHhN0BGb+Ya8M4pYWPPgsfdM=", "issue"=>{"assigned_to_id"=>"", "custom_field_values"=>{"10"=>"", "5"=>"Not translated", "1"=>"fi", "8"=>"http://screencast.com/t/ODknR8K", "9"=>"", "3"=>"", "4"=>""}, "done_ratio"=>"0", "due_date"=>"", "priority_id"=>"4", "estimated_hours"=>"", "start_date"=>"2013-02-07", "subject"=>"1\tInstallation in English", "tracker_id"=>"1", "lock_version"=>"0", "description"=>"Steps:\r\nOpen Nitro\r\n\r\nProblem:\r\nNot localized"}, "controller"=>"issues", "time_entry"=>{"hours"=>"", "activity_id"=>"", "comments"=>""}, "attachments"=>{"1"=>{"description"=>""}}, "id"=>"3876", "action"=>"update", "commit"=>"Submit", "notes"=>""}

Я очень надеюсь, что есть способ, любая помощь будет принята с благодарностью

1 ответ:

вы можете использовать приличный текстовый редактор и / или приложение для электронных таблиц и сделать массовый поиск и замену и построить серию команд обновления SQL и запустить их непосредственно в базе данных (сначала протестируйте!!)

  • выпиской из журнала
  • удалить ненужную информацию
  • копировать в электронную таблицу
  • разделить текст на столбцы
  • добавить в столбцы необходимые команды SQL "обновить набор и т. д." скопировать во все строки этого столбца и т. д.
  • объединить столбцы, чтобы сделать одну текстовую команду в строке
  • экспорт Соединенных данных в текстовый файл
  • запуск с тестовой базой данных как sql
  • Если все идет хорошо работать с производственной базой данных, как sql