From f3223c5474e4047b8c9938be4e54541a1755b6b2 Mon Sep 17 00:00:00 2001 From: lukemelia Date: Thu, 21 Sep 2006 04:18:02 +0000 Subject: [PATCH] Apply Blair Zajac's patch that fixes my botched migration (013). Closes #381. Thanks, Blair! git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@322 a4c988fc-2ded-0310-b66e-134b36920a42 --- tracks/db/migrate/013_convert_preferences.rb | 34 +++++++++++--------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/tracks/db/migrate/013_convert_preferences.rb b/tracks/db/migrate/013_convert_preferences.rb index dca4b50e..0ae0fed1 100644 --- a/tracks/db/migrate/013_convert_preferences.rb +++ b/tracks/db/migrate/013_convert_preferences.rb @@ -3,12 +3,13 @@ class ConvertPreferences < ActiveRecord::Migration class User < ActiveRecord::Base; has_one :preference; serialize :preferences; end def self.up + ActiveRecord::Base.transaction do @users = User.find(:all) @users.each do |user| user.create_preference user.preference.date_format = user.preferences['date_format'] user.preference.week_starts = user.preferences['week_starts'] - user.preference.show_number_completed = user.preferences['show_number_completed'] + user.preference.show_number_completed = user.preferences['no_completed'] user.preference.staleness_starts = user.preferences['staleness_starts'] user.preference.show_completed_projects_in_sidebar = user.preferences['show_completed_projects_in_sidebar'] user.preference.show_hidden_contexts_in_sidebar = user.preferences['show_hidden_contexts_in_sidebar'] @@ -19,22 +20,25 @@ class ConvertPreferences < ActiveRecord::Migration end remove_column :users, :preferences end + end def self.down - add_column :users, :preferences, :text - @users = User.find(:all) - @users.each do |user| - user.preferences = { "date_format" => "#{user.preference.date_format}", - "week_starts" => "#{user.preference.week_starts}", - "no_completed" => "#{user.preference.show_number_completed}", - "staleness_starts" => "#{user.preference.staleness_starts}", - "show_completed_projects_in_sidebar" => "#{user.preference.show_completed_projects_in_sidebar}", - "show_hidden_contexts_in_sidebar" => "#{user.preference.show_hidden_contexts_in_sidebar}", - "due_style" => "#{user.preference.due_style}", - "admin_email" => "#{user.preference.admin_email}", - "refresh" => "#{user.preference.refresh}" - } - user.save + ActiveRecord::Base.transaction do + add_column :users, :preferences, :text + @users = User.find(:all) + @users.each do |user| + user.preferences = { "date_format" => "#{user.preference.date_format}", + "week_starts" => "#{user.preference.week_starts}", + "no_completed" => "#{user.preference.show_number_completed}", + "staleness_starts" => "#{user.preference.staleness_starts}", + "show_completed_projects_in_sidebar" => "#{user.preference.show_completed_projects_in_sidebar}", + "show_hidden_contexts_in_sidebar" => "#{user.preference.show_hidden_contexts_in_sidebar}", + "due_style" => "#{user.preference.due_style}", + "admin_email" => "#{user.preference.admin_email}", + "refresh" => "#{user.preference.refresh}" + } + user.save + end end end end