我在Redmine有一个项目超过600个问题。我将所有问题都移到了另一个项目中。我不知道移动会删除自定义字段的所有数据!
因此现在所有自定义字段值都丢失了。我没有在此操作之前备份数据库,因为我真的不认为我会通过移动问题来做任何伤害,因为移动是UI中的本机功能。
我注意到虽然production.log包含所有创建和更新的事件。我的所有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"=>""}
我真的希望有办法,任何帮助都会受到高度赞赏
答案 0 :(得分:0)
您可以使用体面的文本编辑器和/或电子表格应用程序进行大量查找,替换并构建一系列UPDATE SQL命令并直接在数据库上运行(TEST FIRST !!)
答案 1 :(得分:0)
“参数:”后面的日志条目看起来像是常规的Ruby哈希定义。我将其解析出来并eval
将其重新转换为哈希变量。
从那里你需要剥离元素并将它们插入数据库。我会使用Sequel做到这一点,但使用适合你的东西。
与RedMine支持人员交谈并获取其表的架构,以便您可以确定哪些数据位于何处以及所需的数据库驱动程序。