From 130dc63094a703909ed1147d9895d3a26d098879 Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Mon, 26 Oct 2009 13:42:14 -0300 Subject: [PATCH] Use SQL directly to upgrade needed data. --- db/migrate/074_move_title_to_name_from_blogs.rb | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/db/migrate/074_move_title_to_name_from_blogs.rb b/db/migrate/074_move_title_to_name_from_blogs.rb index f404907..17d5f54 100644 --- a/db/migrate/074_move_title_to_name_from_blogs.rb +++ b/db/migrate/074_move_title_to_name_from_blogs.rb @@ -1,15 +1,13 @@ class MoveTitleToNameFromBlogs < ActiveRecord::Migration def self.up - Blog.find(:all).each do |blog| - blog.name = blog.title - blog.save + select_all("select id, setting from articles where type = 'Blog' and name != 'Blog'").each do |blog| + title = YAML.load(blog['setting'])[:title] + assignments = ActiveRecord::Base.sanitize_sql_for_assignment(:name => title) + update("update articles set %s where id = %d" % [assignments, blog['id']] ) end end def self.down - Blog.find(:all).each do |blog| - blog.title = blog.name - blog.save - end + say("Nothing to undo (cannot recover the data)") end end -- libgit2 0.21.2