namespace :db do desc "Migrate the database through scripts in db/migrate, without duplicates. Target specific version with VERSION=x" task :old_migrate => :environment do ActiveRecord::Migrator.migrate_without_duplicates("db/migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil) Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby end namespace :convert do desc "Covert a standard rails schema_info table into a schema_infos table that allows duplicates" task :allow_duplicates => :environment do ActiveRecord::Migrator.convert_from_non_duplicates("db/migrate/") end desc "Covert a schema_infos table that allows duplicates to a standard rails schema_info table" task :disallow_duplicates => :environment do ActiveRecord::Migrator.convert_from_duplicates("db/migrate/") end end namespace :cleanup do desc "Deletes duplicate_migration schema table: schema_infos" task :delete_duplicates => :environment do ActiveRecord::Migrator.delete_schema_with_duplicates end desc "Deletes traditional rails schema table: schema_info" task :delete_nonduplicates => :environment do ActiveRecord::Migrator.delete_schema_without_duplicates end end end