Commit e5f048f44d054c0e825c880f7b58f0288cdc122f
1 parent
41e97a76
Exists in
master
and in
4 other branches
Migrations refactored ro support data convertion
Showing
18 changed files
with
134 additions
and
69 deletions
Show diff stats
db/migrate/20130214153504_rename_closed_to_state_in_issue.rb
db/migrate/20130214153809_change_state_type_in_issue.rb
db/migrate/20130214154847_rename_closed_to_state_in_merge_request.rb
db/migrate/20130214155334_change_state_type_in_merge_request.rb
db/migrate/20130214155542_rename_closed_to_state_in_milestone.rb
db/migrate/20130214155632_change_state_type_in_milestone.rb
db/migrate/20130218091244_remove_merged_from_merge_request.rb
db/migrate/20130218141258_convert_closed_to_state_in_issue.rb
0 → 100644
| @@ -0,0 +1,19 @@ | @@ -0,0 +1,19 @@ | ||
| 1 | +class ConvertClosedToStateInIssue < ActiveRecord::Migration | ||
| 2 | + def up | ||
| 3 | + Issue.transaction do | ||
| 4 | + Issue.find_each do |issue| | ||
| 5 | + issue.state = issue.closed? ? :closed : :opened | ||
| 6 | + issue.save | ||
| 7 | + end | ||
| 8 | + end | ||
| 9 | + end | ||
| 10 | + | ||
| 11 | + def down | ||
| 12 | + Issue.transaction do | ||
| 13 | + Issue.find_each do |issue| | ||
| 14 | + issue.closed = issue.closed? | ||
| 15 | + issue.save | ||
| 16 | + end | ||
| 17 | + end | ||
| 18 | + end | ||
| 19 | +end |
db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb
0 → 100644
| @@ -0,0 +1,29 @@ | @@ -0,0 +1,29 @@ | ||
| 1 | +class ConvertClosedToStateInMergeRequest < ActiveRecord::Migration | ||
| 2 | + def up | ||
| 3 | + MergeRequest.transaction do | ||
| 4 | + MergeRequest.find_each do |mr| | ||
| 5 | + if mr.closed? && mr.merged? | ||
| 6 | + mr.state = :merged | ||
| 7 | + else | ||
| 8 | + if mr.closed? | ||
| 9 | + mr.state = :closed | ||
| 10 | + else | ||
| 11 | + mr.state = :opened | ||
| 12 | + end | ||
| 13 | + end | ||
| 14 | + | ||
| 15 | + mr.save | ||
| 16 | + end | ||
| 17 | + end | ||
| 18 | + end | ||
| 19 | + | ||
| 20 | + def down | ||
| 21 | + MergeRequest.transaction do | ||
| 22 | + MergeRequest.find_each do |mr| | ||
| 23 | + mr.closed = mr.closed? || mr.merged? | ||
| 24 | + mr.closed = mr.merged? | ||
| 25 | + mr.save | ||
| 26 | + end | ||
| 27 | + end | ||
| 28 | + end | ||
| 29 | +end |
db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb
0 → 100644
| @@ -0,0 +1,19 @@ | @@ -0,0 +1,19 @@ | ||
| 1 | +class ConvertClosedToStateInMilestone < ActiveRecord::Migration | ||
| 2 | + def up | ||
| 3 | + Milestone.transaction do | ||
| 4 | + Milestone.find_each do |milestone| | ||
| 5 | + milestone.state = milestone.closed? ? :closed : :active | ||
| 6 | + milestone.save | ||
| 7 | + end | ||
| 8 | + end | ||
| 9 | + end | ||
| 10 | + | ||
| 11 | + def down | ||
| 12 | + Milestone.transaction do | ||
| 13 | + Milestone.find_each do |milestone| | ||
| 14 | + milestone.closed = milestone.closed? | ||
| 15 | + milestone.save | ||
| 16 | + end | ||
| 17 | + end | ||
| 18 | + end | ||
| 19 | +end |
db/migrate/20130218141444_remove_merged_from_merge_request.rb
0 → 100644
db/migrate/20130218141536_remove_closed_from_merge_request.rb
0 → 100644
db/migrate/20130218141554_remove_closed_from_milestone.rb
0 → 100644
db/schema.rb
| @@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
| 11 | # | 11 | # |
| 12 | # It's strongly recommended to check this file into your version control system. | 12 | # It's strongly recommended to check this file into your version control system. |
| 13 | 13 | ||
| 14 | -ActiveRecord::Schema.define(:version => 20130218091244) do | 14 | +ActiveRecord::Schema.define(:version => 20130218141554) do |
| 15 | 15 | ||
| 16 | create_table "events", :force => true do |t| | 16 | create_table "events", :force => true do |t| |
| 17 | t.string "target_type" | 17 | t.string "target_type" |
| @@ -37,13 +37,13 @@ ActiveRecord::Schema.define(:version => 20130218091244) do | @@ -37,13 +37,13 @@ ActiveRecord::Schema.define(:version => 20130218091244) do | ||
| 37 | t.integer "assignee_id" | 37 | t.integer "assignee_id" |
| 38 | t.integer "author_id" | 38 | t.integer "author_id" |
| 39 | t.integer "project_id" | 39 | t.integer "project_id" |
| 40 | - t.datetime "created_at", :null => false | ||
| 41 | - t.datetime "updated_at", :null => false | ||
| 42 | - t.string "state", :default => "0", :null => false | 40 | + t.datetime "created_at", :null => false |
| 41 | + t.datetime "updated_at", :null => false | ||
| 43 | t.integer "position", :default => 0 | 42 | t.integer "position", :default => 0 |
| 44 | t.string "branch_name" | 43 | t.string "branch_name" |
| 45 | t.text "description" | 44 | t.text "description" |
| 46 | t.integer "milestone_id" | 45 | t.integer "milestone_id" |
| 46 | + t.string "state" | ||
| 47 | end | 47 | end |
| 48 | 48 | ||
| 49 | add_index "issues", ["assignee_id"], :name => "index_issues_on_assignee_id" | 49 | add_index "issues", ["assignee_id"], :name => "index_issues_on_assignee_id" |
| @@ -51,7 +51,6 @@ ActiveRecord::Schema.define(:version => 20130218091244) do | @@ -51,7 +51,6 @@ ActiveRecord::Schema.define(:version => 20130218091244) do | ||
| 51 | add_index "issues", ["created_at"], :name => "index_issues_on_created_at" | 51 | add_index "issues", ["created_at"], :name => "index_issues_on_created_at" |
| 52 | add_index "issues", ["milestone_id"], :name => "index_issues_on_milestone_id" | 52 | add_index "issues", ["milestone_id"], :name => "index_issues_on_milestone_id" |
| 53 | add_index "issues", ["project_id"], :name => "index_issues_on_project_id" | 53 | add_index "issues", ["project_id"], :name => "index_issues_on_project_id" |
| 54 | - add_index "issues", ["state"], :name => "index_issues_on_closed" | ||
| 55 | add_index "issues", ["title"], :name => "index_issues_on_title" | 54 | add_index "issues", ["title"], :name => "index_issues_on_title" |
| 56 | 55 | ||
| 57 | create_table "keys", :force => true do |t| | 56 | create_table "keys", :force => true do |t| |
| @@ -69,19 +68,19 @@ ActiveRecord::Schema.define(:version => 20130218091244) do | @@ -69,19 +68,19 @@ ActiveRecord::Schema.define(:version => 20130218091244) do | ||
| 69 | add_index "keys", ["user_id"], :name => "index_keys_on_user_id" | 68 | add_index "keys", ["user_id"], :name => "index_keys_on_user_id" |
| 70 | 69 | ||
| 71 | create_table "merge_requests", :force => true do |t| | 70 | create_table "merge_requests", :force => true do |t| |
| 72 | - t.string "target_branch", :null => false | ||
| 73 | - t.string "source_branch", :null => false | ||
| 74 | - t.integer "project_id", :null => false | 71 | + t.string "target_branch", :null => false |
| 72 | + t.string "source_branch", :null => false | ||
| 73 | + t.integer "project_id", :null => false | ||
| 75 | t.integer "author_id" | 74 | t.integer "author_id" |
| 76 | t.integer "assignee_id" | 75 | t.integer "assignee_id" |
| 77 | t.string "title" | 76 | t.string "title" |
| 78 | - t.string "state", :default => "0", :null => false | ||
| 79 | - t.datetime "created_at", :null => false | ||
| 80 | - t.datetime "updated_at", :null => false | 77 | + t.datetime "created_at", :null => false |
| 78 | + t.datetime "updated_at", :null => false | ||
| 81 | t.text "st_commits", :limit => 2147483647 | 79 | t.text "st_commits", :limit => 2147483647 |
| 82 | t.text "st_diffs", :limit => 2147483647 | 80 | t.text "st_diffs", :limit => 2147483647 |
| 83 | - t.integer "merge_status", :default => 1, :null => false | 81 | + t.integer "merge_status", :default => 1, :null => false |
| 84 | t.integer "milestone_id" | 82 | t.integer "milestone_id" |
| 83 | + t.string "state" | ||
| 85 | end | 84 | end |
| 86 | 85 | ||
| 87 | add_index "merge_requests", ["assignee_id"], :name => "index_merge_requests_on_assignee_id" | 86 | add_index "merge_requests", ["assignee_id"], :name => "index_merge_requests_on_assignee_id" |
| @@ -90,18 +89,17 @@ ActiveRecord::Schema.define(:version => 20130218091244) do | @@ -90,18 +89,17 @@ ActiveRecord::Schema.define(:version => 20130218091244) do | ||
| 90 | add_index "merge_requests", ["milestone_id"], :name => "index_merge_requests_on_milestone_id" | 89 | add_index "merge_requests", ["milestone_id"], :name => "index_merge_requests_on_milestone_id" |
| 91 | add_index "merge_requests", ["project_id"], :name => "index_merge_requests_on_project_id" | 90 | add_index "merge_requests", ["project_id"], :name => "index_merge_requests_on_project_id" |
| 92 | add_index "merge_requests", ["source_branch"], :name => "index_merge_requests_on_source_branch" | 91 | add_index "merge_requests", ["source_branch"], :name => "index_merge_requests_on_source_branch" |
| 93 | - add_index "merge_requests", ["state"], :name => "index_merge_requests_on_closed" | ||
| 94 | add_index "merge_requests", ["target_branch"], :name => "index_merge_requests_on_target_branch" | 92 | add_index "merge_requests", ["target_branch"], :name => "index_merge_requests_on_target_branch" |
| 95 | add_index "merge_requests", ["title"], :name => "index_merge_requests_on_title" | 93 | add_index "merge_requests", ["title"], :name => "index_merge_requests_on_title" |
| 96 | 94 | ||
| 97 | create_table "milestones", :force => true do |t| | 95 | create_table "milestones", :force => true do |t| |
| 98 | - t.string "title", :null => false | ||
| 99 | - t.integer "project_id", :null => false | 96 | + t.string "title", :null => false |
| 97 | + t.integer "project_id", :null => false | ||
| 100 | t.text "description" | 98 | t.text "description" |
| 101 | t.date "due_date" | 99 | t.date "due_date" |
| 102 | - t.string "state", :default => "0", :null => false | ||
| 103 | - t.datetime "created_at", :null => false | ||
| 104 | - t.datetime "updated_at", :null => false | 100 | + t.datetime "created_at", :null => false |
| 101 | + t.datetime "updated_at", :null => false | ||
| 102 | + t.string "state" | ||
| 105 | end | 103 | end |
| 106 | 104 | ||
| 107 | add_index "milestones", ["due_date"], :name => "index_milestones_on_due_date" | 105 | add_index "milestones", ["due_date"], :name => "index_milestones_on_due_date" |