From e5f048f44d054c0e825c880f7b58f0288cdc122f Mon Sep 17 00:00:00 2001 From: Andrew8xx8 Date: Mon, 18 Feb 2013 18:54:30 +0400 Subject: [PATCH] Migrations refactored ro support data convertion --- ...4153504_rename_closed_to_state_in_issue.rb | 5 --- ...130214153809_change_state_type_in_issue.rb | 9 ----- ...rename_closed_to_state_in_merge_request.rb | 5 --- ...5334_change_state_type_in_merge_request.rb | 9 ----- ...542_rename_closed_to_state_in_milestone.rb | 5 --- ...14155632_change_state_type_in_milestone.rb | 9 ----- .../20130218140952_add_state_to_issue.rb | 5 +++ ...130218141038_add_state_to_merge_request.rb | 5 +++ .../20130218141117_add_state_to_milestone.rb | 5 +++ ...141258_convert_closed_to_state_in_issue.rb | 19 +++++++++++ ...onvert_closed_to_state_in_merge_request.rb | 29 ++++++++++++++++ ...44_convert_closed_to_state_in_milestone.rb | 19 +++++++++++ ...41444_remove_merged_from_merge_request.rb} | 0 ...20130218141507_remove_closed_from_issue.rb | 9 +++++ ...141536_remove_closed_from_merge_request.rb | 9 +++++ ...0218141554_remove_closed_from_milestone.rb | 9 +++++ db/schema.rb | 34 +++++++++---------- 17 files changed, 125 insertions(+), 60 deletions(-) delete mode 100644 db/migrate/20130214153504_rename_closed_to_state_in_issue.rb delete mode 100644 db/migrate/20130214153809_change_state_type_in_issue.rb delete mode 100644 db/migrate/20130214154847_rename_closed_to_state_in_merge_request.rb delete mode 100644 db/migrate/20130214155334_change_state_type_in_merge_request.rb delete mode 100644 db/migrate/20130214155542_rename_closed_to_state_in_milestone.rb delete mode 100644 db/migrate/20130214155632_change_state_type_in_milestone.rb create mode 100644 db/migrate/20130218140952_add_state_to_issue.rb create mode 100644 db/migrate/20130218141038_add_state_to_merge_request.rb create mode 100644 db/migrate/20130218141117_add_state_to_milestone.rb create mode 100644 db/migrate/20130218141258_convert_closed_to_state_in_issue.rb create mode 100644 db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb create mode 100644 db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb rename db/migrate/{20130218091244_remove_merged_from_merge_request.rb => 20130218141444_remove_merged_from_merge_request.rb} (100%) create mode 100644 db/migrate/20130218141507_remove_closed_from_issue.rb create mode 100644 db/migrate/20130218141536_remove_closed_from_merge_request.rb create mode 100644 db/migrate/20130218141554_remove_closed_from_milestone.rb diff --git a/db/migrate/20130214153504_rename_closed_to_state_in_issue.rb b/db/migrate/20130214153504_rename_closed_to_state_in_issue.rb deleted file mode 100644 index 93b815686c5..00000000000 --- a/db/migrate/20130214153504_rename_closed_to_state_in_issue.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameClosedToStateInIssue < ActiveRecord::Migration - def change - rename_column :issues, :closed, :state - end -end diff --git a/db/migrate/20130214153809_change_state_type_in_issue.rb b/db/migrate/20130214153809_change_state_type_in_issue.rb deleted file mode 100644 index 61097af0846..00000000000 --- a/db/migrate/20130214153809_change_state_type_in_issue.rb +++ /dev/null @@ -1,9 +0,0 @@ -class ChangeStateTypeInIssue < ActiveRecord::Migration - def up - change_column :issues, :state, :string - end - - def down - change_column :issues, :state, :boolean - end -end diff --git a/db/migrate/20130214154847_rename_closed_to_state_in_merge_request.rb b/db/migrate/20130214154847_rename_closed_to_state_in_merge_request.rb deleted file mode 100644 index b8b7a5fdc11..00000000000 --- a/db/migrate/20130214154847_rename_closed_to_state_in_merge_request.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameClosedToStateInMergeRequest < ActiveRecord::Migration - def change - rename_column :merge_requests, :closed, :state - end -end diff --git a/db/migrate/20130214155334_change_state_type_in_merge_request.rb b/db/migrate/20130214155334_change_state_type_in_merge_request.rb deleted file mode 100644 index 189b48f4516..00000000000 --- a/db/migrate/20130214155334_change_state_type_in_merge_request.rb +++ /dev/null @@ -1,9 +0,0 @@ -class ChangeStateTypeInMergeRequest < ActiveRecord::Migration - def up - change_column :merge_requests, :state, :string - end - - def down - change_column :merge_requests, :state, :boolean - end -end diff --git a/db/migrate/20130214155542_rename_closed_to_state_in_milestone.rb b/db/migrate/20130214155542_rename_closed_to_state_in_milestone.rb deleted file mode 100644 index 39c1b7c8697..00000000000 --- a/db/migrate/20130214155542_rename_closed_to_state_in_milestone.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RenameClosedToStateInMilestone < ActiveRecord::Migration - def change - rename_column :milestones, :closed, :state - end -end diff --git a/db/migrate/20130214155632_change_state_type_in_milestone.rb b/db/migrate/20130214155632_change_state_type_in_milestone.rb deleted file mode 100644 index db0365b1095..00000000000 --- a/db/migrate/20130214155632_change_state_type_in_milestone.rb +++ /dev/null @@ -1,9 +0,0 @@ -class ChangeStateTypeInMilestone < ActiveRecord::Migration - def up - change_column :milestones, :state, :string - end - - def down - change_column :milestones, :state, :boolean - end -end diff --git a/db/migrate/20130218140952_add_state_to_issue.rb b/db/migrate/20130218140952_add_state_to_issue.rb new file mode 100644 index 00000000000..062103d0e33 --- /dev/null +++ b/db/migrate/20130218140952_add_state_to_issue.rb @@ -0,0 +1,5 @@ +class AddStateToIssue < ActiveRecord::Migration + def change + add_column :issues, :state, :string + end +end diff --git a/db/migrate/20130218141038_add_state_to_merge_request.rb b/db/migrate/20130218141038_add_state_to_merge_request.rb new file mode 100644 index 00000000000..ac4108ee311 --- /dev/null +++ b/db/migrate/20130218141038_add_state_to_merge_request.rb @@ -0,0 +1,5 @@ +class AddStateToMergeRequest < ActiveRecord::Migration + def change + add_column :merge_requests, :state, :string + end +end diff --git a/db/migrate/20130218141117_add_state_to_milestone.rb b/db/migrate/20130218141117_add_state_to_milestone.rb new file mode 100644 index 00000000000..c84039106bd --- /dev/null +++ b/db/migrate/20130218141117_add_state_to_milestone.rb @@ -0,0 +1,5 @@ +class AddStateToMilestone < ActiveRecord::Migration + def change + add_column :milestones, :state, :string + end +end diff --git a/db/migrate/20130218141258_convert_closed_to_state_in_issue.rb b/db/migrate/20130218141258_convert_closed_to_state_in_issue.rb new file mode 100644 index 00000000000..c20fd634e82 --- /dev/null +++ b/db/migrate/20130218141258_convert_closed_to_state_in_issue.rb @@ -0,0 +1,19 @@ +class ConvertClosedToStateInIssue < ActiveRecord::Migration + def up + Issue.transaction do + Issue.find_each do |issue| + issue.state = issue.closed? ? :closed : :opened + issue.save + end + end + end + + def down + Issue.transaction do + Issue.find_each do |issue| + issue.closed = issue.closed? + issue.save + end + end + end +end diff --git a/db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb b/db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb new file mode 100644 index 00000000000..5aa5f48ce66 --- /dev/null +++ b/db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb @@ -0,0 +1,29 @@ +class ConvertClosedToStateInMergeRequest < ActiveRecord::Migration + def up + MergeRequest.transaction do + MergeRequest.find_each do |mr| + if mr.closed? && mr.merged? + mr.state = :merged + else + if mr.closed? + mr.state = :closed + else + mr.state = :opened + end + end + + mr.save + end + end + end + + def down + MergeRequest.transaction do + MergeRequest.find_each do |mr| + mr.closed = mr.closed? || mr.merged? + mr.closed = mr.merged? + mr.save + end + end + end +end diff --git a/db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb b/db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb new file mode 100644 index 00000000000..4490ebc35ad --- /dev/null +++ b/db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb @@ -0,0 +1,19 @@ +class ConvertClosedToStateInMilestone < ActiveRecord::Migration + def up + Milestone.transaction do + Milestone.find_each do |milestone| + milestone.state = milestone.closed? ? :closed : :active + milestone.save + end + end + end + + def down + Milestone.transaction do + Milestone.find_each do |milestone| + milestone.closed = milestone.closed? + milestone.save + end + end + end +end diff --git a/db/migrate/20130218091244_remove_merged_from_merge_request.rb b/db/migrate/20130218141444_remove_merged_from_merge_request.rb similarity index 100% rename from db/migrate/20130218091244_remove_merged_from_merge_request.rb rename to db/migrate/20130218141444_remove_merged_from_merge_request.rb diff --git a/db/migrate/20130218141507_remove_closed_from_issue.rb b/db/migrate/20130218141507_remove_closed_from_issue.rb new file mode 100644 index 00000000000..95cc064252b --- /dev/null +++ b/db/migrate/20130218141507_remove_closed_from_issue.rb @@ -0,0 +1,9 @@ +class RemoveClosedFromIssue < ActiveRecord::Migration + def up + remove_column :issues, :closed + end + + def down + add_column :issues, :closed, :boolean + end +end diff --git a/db/migrate/20130218141536_remove_closed_from_merge_request.rb b/db/migrate/20130218141536_remove_closed_from_merge_request.rb new file mode 100644 index 00000000000..371835938b2 --- /dev/null +++ b/db/migrate/20130218141536_remove_closed_from_merge_request.rb @@ -0,0 +1,9 @@ +class RemoveClosedFromMergeRequest < ActiveRecord::Migration + def up + remove_column :merge_requests, :closed + end + + def down + add_column :merge_requests, :closed, :boolean + end +end diff --git a/db/migrate/20130218141554_remove_closed_from_milestone.rb b/db/migrate/20130218141554_remove_closed_from_milestone.rb new file mode 100644 index 00000000000..e8dae4a19b1 --- /dev/null +++ b/db/migrate/20130218141554_remove_closed_from_milestone.rb @@ -0,0 +1,9 @@ +class RemoveClosedFromMilestone < ActiveRecord::Migration + def up + remove_column :milestones, :closed + end + + def down + add_column :milestones, :closed, :boolean + end +end diff --git a/db/schema.rb b/db/schema.rb index 08fc7fb2961..f837e6edf98 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130218091244) do +ActiveRecord::Schema.define(:version => 20130218141554) do create_table "events", :force => true do |t| t.string "target_type" @@ -37,13 +37,13 @@ ActiveRecord::Schema.define(:version => 20130218091244) do t.integer "assignee_id" t.integer "author_id" t.integer "project_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.string "state", :default => "0", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.integer "position", :default => 0 t.string "branch_name" t.text "description" t.integer "milestone_id" + t.string "state" end add_index "issues", ["assignee_id"], :name => "index_issues_on_assignee_id" @@ -51,7 +51,6 @@ ActiveRecord::Schema.define(:version => 20130218091244) do add_index "issues", ["created_at"], :name => "index_issues_on_created_at" add_index "issues", ["milestone_id"], :name => "index_issues_on_milestone_id" add_index "issues", ["project_id"], :name => "index_issues_on_project_id" - add_index "issues", ["state"], :name => "index_issues_on_closed" add_index "issues", ["title"], :name => "index_issues_on_title" create_table "keys", :force => true do |t| @@ -69,19 +68,19 @@ ActiveRecord::Schema.define(:version => 20130218091244) do add_index "keys", ["user_id"], :name => "index_keys_on_user_id" create_table "merge_requests", :force => true do |t| - t.string "target_branch", :null => false - t.string "source_branch", :null => false - t.integer "project_id", :null => false + t.string "target_branch", :null => false + t.string "source_branch", :null => false + t.integer "project_id", :null => false t.integer "author_id" t.integer "assignee_id" t.string "title" - t.string "state", :default => "0", :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.text "st_commits", :limit => 2147483647 t.text "st_diffs", :limit => 2147483647 - t.integer "merge_status", :default => 1, :null => false + t.integer "merge_status", :default => 1, :null => false t.integer "milestone_id" + t.string "state" end add_index "merge_requests", ["assignee_id"], :name => "index_merge_requests_on_assignee_id" @@ -90,18 +89,17 @@ ActiveRecord::Schema.define(:version => 20130218091244) do add_index "merge_requests", ["milestone_id"], :name => "index_merge_requests_on_milestone_id" add_index "merge_requests", ["project_id"], :name => "index_merge_requests_on_project_id" add_index "merge_requests", ["source_branch"], :name => "index_merge_requests_on_source_branch" - add_index "merge_requests", ["state"], :name => "index_merge_requests_on_closed" add_index "merge_requests", ["target_branch"], :name => "index_merge_requests_on_target_branch" add_index "merge_requests", ["title"], :name => "index_merge_requests_on_title" create_table "milestones", :force => true do |t| - t.string "title", :null => false - t.integer "project_id", :null => false + t.string "title", :null => false + t.integer "project_id", :null => false t.text "description" t.date "due_date" - t.string "state", :default => "0", :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.string "state" end add_index "milestones", ["due_date"], :name => "index_milestones_on_due_date"