Commit e5f048f4 authored by Andrew8xx8's avatar Andrew8xx8

Migrations refactored ro support data convertion

parent 41e97a76
class RenameClosedToStateInIssue < ActiveRecord::Migration
def change
rename_column :issues, :closed, :state
end
end
class ChangeStateTypeInIssue < ActiveRecord::Migration
def up
change_column :issues, :state, :string
end
def down
change_column :issues, :state, :boolean
end
end
class RenameClosedToStateInMergeRequest < ActiveRecord::Migration
def change
rename_column :merge_requests, :closed, :state
end
end
class ChangeStateTypeInMergeRequest < ActiveRecord::Migration
def up
change_column :merge_requests, :state, :string
end
def down
change_column :merge_requests, :state, :boolean
end
end
class RenameClosedToStateInMilestone < ActiveRecord::Migration
def change
rename_column :milestones, :closed, :state
end
end
class ChangeStateTypeInMilestone < ActiveRecord::Migration
def up
change_column :milestones, :state, :string
end
def down
change_column :milestones, :state, :boolean
end
end
class AddStateToIssue < ActiveRecord::Migration
def change
add_column :issues, :state, :string
end
end
class AddStateToMergeRequest < ActiveRecord::Migration
def change
add_column :merge_requests, :state, :string
end
end
class AddStateToMilestone < ActiveRecord::Migration
def change
add_column :milestones, :state, :string
end
end
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
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
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
class RemoveClosedFromIssue < ActiveRecord::Migration
def up
remove_column :issues, :closed
end
def down
add_column :issues, :closed, :boolean
end
end
class RemoveClosedFromMergeRequest < ActiveRecord::Migration
def up
remove_column :merge_requests, :closed
end
def down
add_column :merge_requests, :closed, :boolean
end
end
class RemoveClosedFromMilestone < ActiveRecord::Migration
def up
remove_column :milestones, :closed
end
def down
add_column :milestones, :closed, :boolean
end
end
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
# #
# It's strongly recommended to check this file into your version control system. # 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| create_table "events", :force => true do |t|
t.string "target_type" t.string "target_type"
...@@ -37,13 +37,13 @@ ActiveRecord::Schema.define(:version => 20130218091244) do ...@@ -37,13 +37,13 @@ ActiveRecord::Schema.define(:version => 20130218091244) do
t.integer "assignee_id" t.integer "assignee_id"
t.integer "author_id" t.integer "author_id"
t.integer "project_id" t.integer "project_id"
t.datetime "created_at", :null => false t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false t.datetime "updated_at", :null => false
t.string "state", :default => "0", :null => false
t.integer "position", :default => 0 t.integer "position", :default => 0
t.string "branch_name" t.string "branch_name"
t.text "description" t.text "description"
t.integer "milestone_id" t.integer "milestone_id"
t.string "state"
end end
add_index "issues", ["assignee_id"], :name => "index_issues_on_assignee_id" 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
add_index "issues", ["created_at"], :name => "index_issues_on_created_at" 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", ["milestone_id"], :name => "index_issues_on_milestone_id"
add_index "issues", ["project_id"], :name => "index_issues_on_project_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" add_index "issues", ["title"], :name => "index_issues_on_title"
create_table "keys", :force => true do |t| 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
add_index "keys", ["user_id"], :name => "index_keys_on_user_id" add_index "keys", ["user_id"], :name => "index_keys_on_user_id"
create_table "merge_requests", :force => true do |t| create_table "merge_requests", :force => true do |t|
t.string "target_branch", :null => false t.string "target_branch", :null => false
t.string "source_branch", :null => false t.string "source_branch", :null => false
t.integer "project_id", :null => false t.integer "project_id", :null => false
t.integer "author_id" t.integer "author_id"
t.integer "assignee_id" t.integer "assignee_id"
t.string "title" t.string "title"
t.string "state", :default => "0", :null => false t.datetime "created_at", :null => false
t.datetime "created_at", :null => false t.datetime "updated_at", :null => false
t.datetime "updated_at", :null => false
t.text "st_commits", :limit => 2147483647 t.text "st_commits", :limit => 2147483647
t.text "st_diffs", :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.integer "milestone_id"
t.string "state"
end end
add_index "merge_requests", ["assignee_id"], :name => "index_merge_requests_on_assignee_id" 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
add_index "merge_requests", ["milestone_id"], :name => "index_merge_requests_on_milestone_id" 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", ["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", ["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", ["target_branch"], :name => "index_merge_requests_on_target_branch"
add_index "merge_requests", ["title"], :name => "index_merge_requests_on_title" add_index "merge_requests", ["title"], :name => "index_merge_requests_on_title"
create_table "milestones", :force => true do |t| create_table "milestones", :force => true do |t|
t.string "title", :null => false t.string "title", :null => false
t.integer "project_id", :null => false t.integer "project_id", :null => false
t.text "description" t.text "description"
t.date "due_date" t.date "due_date"
t.string "state", :default => "0", :null => false t.datetime "created_at", :null => false
t.datetime "created_at", :null => false t.datetime "updated_at", :null => false
t.datetime "updated_at", :null => false t.string "state"
end end
add_index "milestones", ["due_date"], :name => "index_milestones_on_due_date" add_index "milestones", ["due_date"], :name => "index_milestones_on_due_date"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment