aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2011-12-19 13:44:24 -0800
committerPiotr Sarnacki <drogus@gmail.com>2011-12-19 13:44:24 -0800
commit61d0de200927f2074d6149e3739e92bf22fbf41b (patch)
treea2af2ad6482494995f64b928a9701475f0c86b36 /activerecord/lib
parent9d0789c415111a3b3e85bdb5ed16d10f1f749d89 (diff)
parent626c881863bbcd600789d8372c34bd3650fcb227 (diff)
downloadrails-61d0de200927f2074d6149e3739e92bf22fbf41b.tar.gz
rails-61d0de200927f2074d6149e3739e92bf22fbf41b.tar.bz2
rails-61d0de200927f2074d6149e3739e92bf22fbf41b.zip
Merge pull request #4036 from Juanmcuello/database_tasks
Fix database tasks in test namespace.
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/railties/databases.rake31
1 files changed, 22 insertions, 9 deletions
diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake
index 0d1d9845ae..199eee4359 100644
--- a/activerecord/lib/active_record/railties/databases.rake
+++ b/activerecord/lib/active_record/railties/databases.rake
@@ -446,26 +446,39 @@ db_namespace = namespace :db do
end
namespace :test do
- # desc "Recreate the test database from the current schema.rb"
+
+ # desc "Recreate the test database from the current schema"
task :load => 'db:test:purge' do
- ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations['test'])
- ActiveRecord::Schema.verbose = false
- db_namespace["schema:load"].invoke if ActiveRecord::Base.schema_format == :ruby
+ case ActiveRecord::Base.schema_format
+ when :ruby
+ db_namespace["test:load_schema"].invoke
+ when :sql
+ db_namespace["test:load_structure"].invoke
+ end
+ end
+ # desc "Recreate the test database from an existent structure.sql file"
+ task :load_structure => 'db:test:purge' do
begin
old_env, ENV['RAILS_ENV'] = ENV['RAILS_ENV'], 'test'
- db_namespace["structure:load"].invoke if ActiveRecord::Base.schema_format == :sql
+ db_namespace["structure:load"].invoke
ensure
ENV['RAILS_ENV'] = old_env
end
+ end
+ # desc "Recreate the test database from an existent schema.rb file"
+ task :load_schema => 'db:test:purge' do
+ ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations['test'])
+ ActiveRecord::Schema.verbose = false
+ db_namespace["schema:load"].invoke
end
- # desc "Recreate the test database from the current environment's database schema"
- task :clone => %w(db:schema:dump db:test:load)
+ # desc "Recreate the test database from a fresh schema.rb file"
+ task :clone => %w(db:schema:dump db:test:load_schema)
- # desc "Recreate the test databases from the structure.sql file"
- task :clone_structure => [ "db:structure:dump", "db:test:load" ]
+ # desc "Recreate the test database from a fresh structure.sql file"
+ task :clone_structure => [ "db:structure:dump", "db:test:load_structure" ]
# desc "Empty the test database"
task :purge => :environment do