#-- copyright # OpenProject is a project management system. # # Copyright (C) 2012-2013 the OpenProject Team # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. # # See doc/COPYRIGHT.rdoc for more details. #++ 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