OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/db/migrate/20120319135006_add_custom_f...

36 lines
1.1 KiB

class AddCustomFieldTranslationTable < ActiveRecord::Migration
def self.up
CustomField.create_translation_table! :name => :string,
:default_value => :text,
:possible_values => :text
I18n.locale = Setting.default_language.to_sym
CustomField.all.each do |f|
f.name = f.read_attribute(:name)
f.default_value = f.read_attribute(:default_value)
f.possible_values = YAML::load(f.read_attribute(:possible_values))
f.save
end
remove_column :custom_fields, :name
remove_column :custom_fields, :default_value
remove_column :custom_fields, :possible_values
end
def self.down
add_column :custom_fields, :name, :string
add_column :custom_fields, :default_value, :text
add_column :custom_fields, :possible_values, :text
I18n.locale = Setting.default_language.to_sym
CustomField.all.each do |f|
f.write_attribute(:name, f.name)
f.write_attribute(:default_value, f.default_value)
f.write_attribute(:possible_values, f.possible_values)
end
CustomField.drop_translation_table!
end
end