lib/merb_datamapper/merbtasks.rb in merb_datamapper-0.9.2 vs lib/merb_datamapper/merbtasks.rb in merb_datamapper-0.9.3
- old
+ new
@@ -1,31 +1,60 @@
require 'fileutils'
namespace :dm do
-
+
task :merb_start do
- Merb.start :adapter => 'runner',
- :environment => ENV['MERB_ENV'] || 'development'
+ Merb.start_environment :adapter => 'runner',
+ :environment => ENV['MERB_ENV'] || 'development'
end
-
+
namespace :db do
+ desc "Create a sample database.yml file"
+ task :database_yaml => :merb_start do
+ sample_location = File.join(File.dirname(__FILE__), "..", "merb", "orms", "data_mapper", "database.yml.sample")
+ target_location = Merb.dir_for(:config)
+ FileUtils.cp sample_location, target_location
+ end
desc "Perform automigration"
task :automigrate => :merb_start do
- DataMapper::Persistence.auto_migrate!
+ ::DataMapper::AutoMigrator.auto_migrate
end
+ desc "Perform non destructive automigration"
+ task :autoupgrade => :merb_start do
+ ::DataMapper::AutoMigrator.auto_upgrade
+ end
+
+ namespace :migrate do
+ task :load => :merb_start do
+ gem 'dm-migrations'
+ require 'migration_runner'
+ FileList["schema/migrations/*.rb"].each do |migration|
+ load migration
+ end
+ end
+
+ desc "Migrate up using migrations"
+ task :up, :version, :needs => :load do |t, args|
+ version = args[:version] || ENV['VERSION']
+ migrate_up!(version)
+ end
+ desc "Migrate down using migrations"
+ task :down, :version, :needs => :load do |t, args|
+ version = args[:version] || ENV['VERSION']
+ migrate_down!(version)
+ end
+ end
end
-
+
namespace :sessions do
- desc "Creates session migration"
+ desc "Perform automigration for sessions"
task :create => :merb_start do
- dest = File.join(Merb.root, "schema", "migrations","001_add_sessions_table.rb")
- source = File.join(File.dirname(__FILE__), "merb", "session","001_add_sessions_table.rb")
- #FileUtils.cp source, dest unless File.exists?(dest)
+ Merb::DataMapperSession.auto_migrate!
end
-
+
desc "Clears sessions"
task :clear => :merb_start do
table_name = ((Merb::Plugins.config[:datamapper] || {})[:session_table_name] || "sessions")
- #Merb::Orms::DataMapper.connect.execute("DELETE FROM #{table_name}")
+ ::DataMapper.repository.adapter.execute("DELETE FROM #{table_name}")
end
end
-end
\ No newline at end of file
+end