You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
scrum/db/migrate/20130924222500_create_pendi...

45 lines
1.6 KiB
Ruby

2 years ago
# Copyright © Emilio González Montaña
# Licence: Attribution & no derivatives
# * Attribution to the plugin web page URL should be done if you want to use it.
# https://redmine.ociotec.com/projects/redmine-plugin-scrum
# * No derivatives of this plugin (or partial) are allowed.
# Take a look to licence.txt file at plugin root folder for further details.
class CreatePendingEfforts < ActiveRecord::Migration[4.2]
class Issue < ActiveRecord::Base
end
class CustomValue < ActiveRecord::Base
end
class PendingEffort < ActiveRecord::Base
end
def self.up
create_table :pending_efforts, :force => true do |t|
t.column :issue_id, :integer, :null => false
t.column :date, :date, :null => false
t.column :effort, :integer
end
add_index :pending_efforts, [:issue_id], :name => "pending_efforts_issue"
add_index :pending_efforts, [:date], :name => "pending_efforts_date"
if !((custom_field_id = Setting.plugin_scrum[:pending_effort_custom_field]).nil?)
Issue.all.each do |issue|
values = CustomValue.where(:customized_type => "Issue",
:customized_id => issue.id,
:custom_field_id => custom_field_id)
if values.count == 1
effort = PendingEffort.new(:issue_id => issue.id,
:date => issue.updated_on,
:effort => values.first.value.to_i)
effort.save!
end
end
end
end
def self.down
drop_table :pending_efforts
end
end