OSDN Git Service

Migrations refactored ro support data convertion
authorAndrew8xx8 <avk@8xx8.ru>
Mon, 18 Feb 2013 14:54:30 +0000 (18:54 +0400)
committerAndrew8xx8 <avk@8xx8.ru>
Mon, 18 Feb 2013 14:54:30 +0000 (18:54 +0400)
17 files changed:
db/migrate/20130214153504_rename_closed_to_state_in_issue.rb [deleted file]
db/migrate/20130214153809_change_state_type_in_issue.rb [deleted file]
db/migrate/20130214154847_rename_closed_to_state_in_merge_request.rb [deleted file]
db/migrate/20130214155334_change_state_type_in_merge_request.rb [deleted file]
db/migrate/20130214155542_rename_closed_to_state_in_milestone.rb [deleted file]
db/migrate/20130214155632_change_state_type_in_milestone.rb [deleted file]
db/migrate/20130218140952_add_state_to_issue.rb [new file with mode: 0644]
db/migrate/20130218141038_add_state_to_merge_request.rb [new file with mode: 0644]
db/migrate/20130218141117_add_state_to_milestone.rb [new file with mode: 0644]
db/migrate/20130218141258_convert_closed_to_state_in_issue.rb [new file with mode: 0644]
db/migrate/20130218141327_convert_closed_to_state_in_merge_request.rb [new file with mode: 0644]
db/migrate/20130218141344_convert_closed_to_state_in_milestone.rb [new file with mode: 0644]
db/migrate/20130218141444_remove_merged_from_merge_request.rb [moved from db/migrate/20130218091244_remove_merged_from_merge_request.rb with 100% similarity]
db/migrate/20130218141507_remove_closed_from_issue.rb [new file with mode: 0644]
db/migrate/20130218141536_remove_closed_from_merge_request.rb [new file with mode: 0644]
db/migrate/20130218141554_remove_closed_from_milestone.rb [new file with mode: 0644]
db/schema.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 (file)
index 93b8156..0000000
+++ /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 (file)
index 61097af..0000000
+++ /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 (file)
index b8b7a5f..0000000
+++ /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 (file)
index 189b48f..0000000
+++ /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 (file)
index 39c1b7c..0000000
+++ /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 (file)
index db0365b..0000000
+++ /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 (file)
index 0000000..062103d
--- /dev/null
@@ -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 (file)
index 0000000..ac4108e
--- /dev/null
@@ -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 (file)
index 0000000..c840391
--- /dev/null
@@ -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 (file)
index 0000000..c20fd63
--- /dev/null
@@ -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 (file)
index 0000000..5aa5f48
--- /dev/null
@@ -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 (file)
index 0000000..4490ebc
--- /dev/null
@@ -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/20130218141507_remove_closed_from_issue.rb b/db/migrate/20130218141507_remove_closed_from_issue.rb
new file mode 100644 (file)
index 0000000..95cc064
--- /dev/null
@@ -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 (file)
index 0000000..3718359
--- /dev/null
@@ -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 (file)
index 0000000..e8dae4a
--- /dev/null
@@ -0,0 +1,9 @@
+class RemoveClosedFromMilestone < ActiveRecord::Migration
+  def up
+    remove_column :milestones, :closed
+  end
+
+  def down
+    add_column :milestones, :closed, :boolean
+  end
+end
index 08fc7fb..f837e6e 100644 (file)
@@ -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"