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 @@ | @@ -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 |