Commit f15a7f20421b94cc5f00f42f94424df9d48247a8

Authored by Joenio Costa
Committed by Daniela Feitosa
1 parent 02c67027

Moving serialized data to setting field for some Events

(ActionItem1914)
db/migrate/20110302214607_move_data_serialized_hash_to_setting_field_for_events.rb 0 → 100644
@@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
  1 +class MoveDataSerializedHashToSettingFieldForEvents < ActiveRecord::Migration
  2 + def self.up
  3 + select_all("SELECT id FROM articles WHERE type = 'Event' AND body LIKE '%:link:%'").each do |data|
  4 + article = Event.find(data['id'])
  5 + body = ''
  6 + begin
  7 + body = YAML.load(article.body)
  8 + rescue
  9 + # do nothing
  10 + next
  11 + end
  12 + if body.kind_of?(Hash)
  13 + settings = article.setting.merge(body)
  14 + body = ActiveRecord::Base.sanitize_sql_for_assignment(:body => settings[:description])
  15 + update("UPDATE articles set %s WHERE id = %d" % [body, article.id])
  16 + setting = ActiveRecord::Base.sanitize_sql_for_assignment(:setting => settings.to_yaml)
  17 + update("UPDATE articles set %s WHERE id = %d" % [setting, article.id])
  18 + end
  19 + end
  20 + end
  21 +
  22 + def self.down
  23 + say "Nothing to undo"
  24 + end
  25 +end
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 # 9 #
10 # It's strongly recommended to check this file into your version control system. 10 # It's strongly recommended to check this file into your version control system.
11 11
12 -ActiveRecord::Schema.define(:version => 20110228174632) do 12 +ActiveRecord::Schema.define(:version => 20110302214607) do
13 13
14 create_table "action_tracker", :force => true do |t| 14 create_table "action_tracker", :force => true do |t|
15 t.integer "user_id" 15 t.integer "user_id"