Commit 234197345e820ff5dce814fcb95f50762d11a516
Committed by
Larissa Reis
1 parent
fde04c88
Exists in
master
and in
29 other branches
custom-forms: replace ruby code by sql on migration
Showing
1 changed file
with
17 additions
and
13 deletions
Show diff stats
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,18 +4,10 @@ class AddSelectFieldTypeToCustomFormsPluginFields < ActiveRecord::Migration | ||
4 | t.string :select_field_type | 4 | t.string :select_field_type |
5 | end | 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 | change_table :custom_forms_plugin_fields do |t| | 12 | change_table :custom_forms_plugin_fields do |t| |
21 | t.remove :multiple, :list | 13 | t.remove :multiple, :list |
@@ -23,6 +15,18 @@ class AddSelectFieldTypeToCustomFormsPluginFields < ActiveRecord::Migration | @@ -23,6 +15,18 @@ class AddSelectFieldTypeToCustomFormsPluginFields < ActiveRecord::Migration | ||
23 | end | 15 | end |
24 | 16 | ||
25 | def self.down | 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 | end | 31 | end |
28 | end | 32 | end |