namespace :db do
desc "create the database from config/database.yml from the current Sinatra env" task :create do ActiveRecordTasks.create() end desc "drops the data from config/database.yml from the current Sinatra env" task :drop do ActiveRecordTasks.drop() end desc "load the seed data from db/seeds.rb or run specific seed rake db:seed[file/path]" task :seed, :file do |t, args| ActiveRecordTasks.seed args[:file] end desc "create the database and load the schema" task :setup do ActiveRecordTasks.setup() end desc "create an ActiveRecord migration" task :create_migration do ActiveRecordTasks.create_migration(ENV["NAME"], ENV["VERSION"]) end desc "migrate the database (use version with VERSION=n)" task :migrate do ActiveRecordTasks.migrate(ENV["VERSION"]) Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby end desc "roll back the migration (use steps with STEP=n)" task :rollback do ActiveRecordTasks.rollback(ENV["STEP"]) Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby end namespace :schema do desc "dump schema into file" task :dump do ActiveRecordTasks.dump_schema() end desc "load schema into database" task :load do ActiveRecordTasks.load_schema() end end namespace :test do task :purge do ActiveRecordTasks.with_config_environment 'test' do ActiveRecordTasks.purge() end end task :load => :purge do ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations['test']) ActiveRecordTasks.with_config_environment 'test' do ActiveRecordTasks.load_schema() end end desc 'Prepare test database from development schema' task :prepare do Rake::Task["db:test:load"].invoke end end
end