Commit 234197345e820ff5dce814fcb95f50762d11a516

Authored by Rodrigo Souto
Committed by Larissa Reis
1 parent fde04c88

custom-forms: replace ruby code by sql on migration

plugins/custom_forms/db/migrate/20130823135600_add_select_field_type_to_custom_forms_plugin_fields.rb
... ... @@ -4,18 +4,10 @@ class AddSelectFieldTypeToCustomFormsPluginFields < ActiveRecord::Migration
4 4 t.string :select_field_type
5 5 end
6 6  
7   - CustomFormsPlugin::Field.find_each do |f|
8   - if !f.list && !f.multiple
9   - f.select_field_type = :radio
10   - elsif !f.list && f.multiple
11   - f.select_field_type = :check_box
12   - elsif f.list && !f.multiple
13   - f.select_field_type = :select
14   - else
15   - f.select_field_type = :multiple_select
16   - end
17   - f.save!
18   - end
  7 + update("UPDATE custom_forms_plugin_fields SET select_field_type='radio' WHERE list IS FALSE AND multiple IS FALSE")
  8 + update("UPDATE custom_forms_plugin_fields SET select_field_type='check_box' WHERE list IS FALSE AND multiple IS TRUE")
  9 + update("UPDATE custom_forms_plugin_fields SET select_field_type='select' WHERE list IS TRUE AND multiple IS FALSE")
  10 + update("UPDATE custom_forms_plugin_fields SET select_field_type='multiple_select' WHERE list IS TRUE AND multiple IS TRUE")
19 11  
20 12 change_table :custom_forms_plugin_fields do |t|
21 13 t.remove :multiple, :list
... ... @@ -23,6 +15,18 @@ class AddSelectFieldTypeToCustomFormsPluginFields < ActiveRecord::Migration
23 15 end
24 16  
25 17 def self.down
26   - raise ActiveRecord::IrreversibleMigration
  18 + change_table :custom_forms_plugin_fields do |t|
  19 + t.boolean :multiple
  20 + t.boolean :list
  21 + end
  22 +
  23 + update("UPDATE custom_forms_plugin_fields SET list=TRUE, multiple=FALSE WHERE select_field_type='radio'")
  24 + update("UPDATE custom_forms_plugin_fields SET list=FALSE, multiople=TRUE WHERE select_field_type='check_box'")
  25 + update("UPDATE custom_forms_plugin_fields SET list=TRUE, multiple=FALSE WHERE select_field_type='select'")
  26 + update("UPDATE custom_forms_plugin_fields SET list=TRUE, multiple=TRUE WHERE select_field_type='multiple_select'")
  27 +
  28 + change_table :custom_forms_plugin_fields do |t|
  29 + t.remove :select_fields_type
  30 + end
27 31 end
28 32 end
... ...