Commit 0967e1632564ced2eab52e7e30fc1e25fd9634d7
Exists in
master
and in
1 other branch
Merge pull request #986 from keylimetoolbox/restore_extract_issue_trackers_migration
Restore migration to extract issue trackers
Showing
1 changed file
with
46 additions
and
0 deletions
Show diff stats
| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | +class ExtractIssueTracker < Mongoid::Migration | |
| 2 | + | |
| 3 | + TRACKER_MAPPING = { | |
| 4 | + 'ErrbitTracPlugin::IssueTracker' => 'trac', | |
| 5 | + 'IssueTrackers::BitbucketIssuesTracker' => 'bitbucket', | |
| 6 | + 'IssueTrackers::FogbugzTracker' => 'fogbugz', | |
| 7 | + 'IssueTrackers::GithubIssuesTracker' => 'github', | |
| 8 | + 'IssueTrackers::GitlabTracker' => 'gitlab', | |
| 9 | + 'IssueTrackers::JiraTracker' => 'jira', | |
| 10 | + 'IssueTrackers::LighthouseTracker' => 'lighthouse', | |
| 11 | + 'IssueTrackers::PivotalLabsTracker' => 'pivotal', | |
| 12 | + 'IssueTrackers::RedmineTracker' => 'redmine', | |
| 13 | + 'IssueTrackers::UnfuddleTracker' => 'unfuddle' | |
| 14 | + } | |
| 15 | + | |
| 16 | + def self.up | |
| 17 | + App.all.each do |app| | |
| 18 | + next unless app.attributes['issue_tracker'].present? | |
| 19 | + next unless app.attributes['issue_tracker']['_type'].present? | |
| 20 | + | |
| 21 | + options = app['issue_tracker'].dup | |
| 22 | + options.delete('_type') | |
| 23 | + options.delete('_id') | |
| 24 | + | |
| 25 | + type = app.attributes['issue_tracker']['_type'] | |
| 26 | + updated_at = options.delete('updated_at') | |
| 27 | + created_at = options.delete('created_at') | |
| 28 | + | |
| 29 | + if TRACKER_MAPPING.include?(type) | |
| 30 | + tracker = { | |
| 31 | + 'type_tracker' => TRACKER_MAPPING[type], | |
| 32 | + 'options' => options, | |
| 33 | + 'updated_at' => updated_at, | |
| 34 | + 'created_at' => created_at | |
| 35 | + } | |
| 36 | + | |
| 37 | + App.where({ _id: app.id }).update({ | |
| 38 | + "$set" => { :issue_tracker => tracker } | |
| 39 | + }) | |
| 40 | + end | |
| 41 | + end | |
| 42 | + end | |
| 43 | + | |
| 44 | + def self.down | |
| 45 | + end | |
| 46 | +end | ... | ... |