# Tasks to work with the databases namespace :db do desc "Migrate the given database" task :up, :database, :steps do |t, args| database = args[:database] steps = ( args[:steps] || 1 ).to_i raise "No database specified" unless args[:database] require 'active_record' ActiveRecord::Base.establish_connection( :adapter => 'sqlite3', :database => args[:database] ) ActiveRecord::Migrator.forward( 'db/migrations', steps ) end desc "Rollback the given database" task :down, :database, :steps do |t, args| database = args[:database] steps = ( args[:steps] || 1 ).to_i raise "No database specified" unless args[:database] require 'active_record' ActiveRecord::Base.establish_connection( :adapter => 'sqlite3', :database => args[:database] ) ActiveRecord::Migrator.rollback( 'db/migrations', steps ) end end