diff --git a/db/migrate/046_fix_incorrectly_hidden_todos.rb b/db/migrate/046_fix_incorrectly_hidden_todos.rb new file mode 100644 index 00000000..7ce294a9 --- /dev/null +++ b/db/migrate/046_fix_incorrectly_hidden_todos.rb @@ -0,0 +1,18 @@ +class FixIncorrectlyHiddenTodos < ActiveRecord::Migration + def self.up + hidden_todos_without_project = + Todo.find(:all, :conditions => "state='project_hidden' AND project_id IS NULL") + + active_projects = Project.find(:all, :conditions => "state='active'") + hidden_todos_in_active_projects = + Todo.find(:all, :conditions => ["state='project_hidden' AND project_id IN (?)", active_projects]) + + todos_to_fix = hidden_todos_without_project + hidden_todos_in_active_projects + todos_to_fix.each do |todo| + todo.update_attribute :state, 'active' + end + end + + def self.down + end +end