Migrations refactored ro support data convertion
This commit is contained in:
parent
41e97a766b
commit
e5f048f44d
17 changed files with 125 additions and 60 deletions
|
@ -1,5 +0,0 @@
|
|||
class RenameClosedToStateInIssue < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :issues, :closed, :state
|
||||
end
|
||||
end
|
|
@ -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
|
|
@ -1,5 +0,0 @@
|
|||
class RenameClosedToStateInMergeRequest < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :merge_requests, :closed, :state
|
||||
end
|
||||
end
|
|
@ -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
|
|
@ -1,5 +0,0 @@
|
|||
class RenameClosedToStateInMilestone < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :milestones, :closed, :state
|
||||
end
|
||||
end
|
|
@ -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
|
5
db/migrate/20130218140952_add_state_to_issue.rb
Normal file
5
db/migrate/20130218140952_add_state_to_issue.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
class AddStateToIssue < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :issues, :state, :string
|
||||
end
|
||||
end
|
5
db/migrate/20130218141038_add_state_to_merge_request.rb
Normal file
5
db/migrate/20130218141038_add_state_to_merge_request.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
class AddStateToMergeRequest < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :merge_requests, :state, :string
|
||||
end
|
||||
end
|
5
db/migrate/20130218141117_add_state_to_milestone.rb
Normal file
5
db/migrate/20130218141117_add_state_to_milestone.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
class AddStateToMilestone < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :milestones, :state, :string
|
||||
end
|
||||
end
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
9
db/migrate/20130218141507_remove_closed_from_issue.rb
Normal file
9
db/migrate/20130218141507_remove_closed_from_issue.rb
Normal file
|
@ -0,0 +1,9 @@
|
|||
class RemoveClosedFromIssue < ActiveRecord::Migration
|
||||
def up
|
||||
remove_column :issues, :closed
|
||||
end
|
||||
|
||||
def down
|
||||
add_column :issues, :closed, :boolean
|
||||
end
|
||||
end
|
|
@ -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
|
|
@ -0,0 +1,9 @@
|
|||
class RemoveClosedFromMilestone < ActiveRecord::Migration
|
||||
def up
|
||||
remove_column :milestones, :closed
|
||||
end
|
||||
|
||||
def down
|
||||
add_column :milestones, :closed, :boolean
|
||||
end
|
||||
end
|
34
db/schema.rb
34
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"
|
||||
|
|
Loading…
Reference in a new issue