diff --git a/tracks/db/migrate/013_convert_preferences.rb b/tracks/db/migrate/013_convert_preferences.rb index b23a9f5f..df76aeb6 100644 --- a/tracks/db/migrate/013_convert_preferences.rb +++ b/tracks/db/migrate/013_convert_preferences.rb @@ -3,47 +3,43 @@ 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['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'] - user.preference.due_style = user.preferences['due_style'] - user.preference.admin_email = user.preferences['admin_email'] - user.preference.refresh = user.preferences['refresh'] - - if user.preference.refresh.blank? - user.preference.refresh = 0 - end - - user.preference.save! + @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['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'] + user.preference.due_style = user.preferences['due_style'] + user.preference.admin_email = user.preferences['admin_email'] + user.preference.refresh = user.preferences['refresh'] + + if user.preference.refresh.blank? + user.preference.refresh = 0 end - remove_column :users, :preferences + + user.preference.save! end + remove_column :users, :preferences end def self.down - 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 + 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 diff --git a/tracks/db/migrate/014_convert_project_to_state_machine.rb b/tracks/db/migrate/014_convert_project_to_state_machine.rb index cf7aa6be..48b5c21d 100644 --- a/tracks/db/migrate/014_convert_project_to_state_machine.rb +++ b/tracks/db/migrate/014_convert_project_to_state_machine.rb @@ -3,26 +3,22 @@ class ConvertProjectToStateMachine < ActiveRecord::Migration class Project < ActiveRecord::Base; end def self.up - ActiveRecord::Base.transaction do - add_column :projects, :state, :string, :limit => 20, :default => "active", :null => false - @projects = Project.find(:all) - @projects.each do |project| - project.state = project.done? ? 'completed' : 'active' - project.save - end - remove_column :projects, :done + add_column :projects, :state, :string, :limit => 20, :default => "active", :null => false + @projects = Project.find(:all) + @projects.each do |project| + project.state = project.done? ? 'completed' : 'active' + project.save end + remove_column :projects, :done end def self.down - ActiveRecord::Base.transaction do - add_column :projects, :done, :integer, :limit => 4, :default => 0, :null => false - @projects = Project.find(:all) - @projects.each do |project| - project.done = project.state == 'completed' - project.save - end - remove_column :projects, :state + add_column :projects, :done, :integer, :limit => 4, :default => 0, :null => false + @projects = Project.find(:all) + @projects.each do |project| + project.done = project.state == 'completed' + project.save end + remove_column :projects, :state end end diff --git a/tracks/db/migrate/019_convert_todo_to_state_machine.rb b/tracks/db/migrate/019_convert_todo_to_state_machine.rb index 597770e5..5bc50d61 100644 --- a/tracks/db/migrate/019_convert_todo_to_state_machine.rb +++ b/tracks/db/migrate/019_convert_todo_to_state_machine.rb @@ -6,39 +6,35 @@ class ConvertTodoToStateMachine < ActiveRecord::Migration class Project < ActiveRecord::Base; end def self.up - ActiveRecord::Base.transaction do - add_column :todos, :state, :string, :limit => 20, :default => "immediate", :null => false - @todos = Todo.find(:all) - @todos.each do |todo| - if todo.done? - todo.state = 'completed' - elsif todo.type == 'Deferred' - todo.state = 'deferred' - elsif !todo.project.nil? && todo.project.state == 'hidden' - todo.state = 'project_hidden' - else - todo.state = 'active' - end - todo.save + add_column :todos, :state, :string, :limit => 20, :default => "immediate", :null => false + @todos = Todo.find(:all) + @todos.each do |todo| + if todo.done? + todo.state = 'completed' + elsif todo.type == 'Deferred' + todo.state = 'deferred' + elsif !todo.project.nil? && todo.project.state == 'hidden' + todo.state = 'project_hidden' + else + todo.state = 'active' end - rename_column :todos, :completed, :completed_at - remove_column :todos, :done - remove_column :todos, :type + todo.save end + rename_column :todos, :completed, :completed_at + remove_column :todos, :done + remove_column :todos, :type end def self.down - ActiveRecord::Base.transaction do - add_column :todos, :done, :integer, :limit => 4, :default => 0, :null => false - add_column :todos, :type, :string, :default => "Immediate", :null => false - rename_column :todos, :completed_at, :completed - @todos = Todo.find(:all) - @todos.each do |todo| - todo.done = todo.state == 'completed' - todo.type = todo.type == 'deferred' ? 'Deferred' : 'Immediate' - todo.save - end - remove_column :todos, :state + add_column :todos, :done, :integer, :limit => 4, :default => 0, :null => false + add_column :todos, :type, :string, :default => "Immediate", :null => false + rename_column :todos, :completed_at, :completed + @todos = Todo.find(:all) + @todos.each do |todo| + todo.done = todo.state == 'completed' + todo.type = todo.type == 'deferred' ? 'Deferred' : 'Immediate' + todo.save end + remove_column :todos, :state end end