aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkennyj <kennyj@gmail.com>2012-06-26 02:33:08 +0900
committerkennyj <kennyj@gmail.com>2012-06-26 04:06:45 +0900
commit9ab805d8809c11e6bc1d8db30f839e8c66dc66c0 (patch)
treea9416f703db0dff7ba30e0b0b6169c523a75d4ad
parent7d3e846bf9bb952cdb9bfcd0358a078ac02c7411 (diff)
downloadrails-9ab805d8809c11e6bc1d8db30f839e8c66dc66c0.tar.gz
rails-9ab805d8809c11e6bc1d8db30f839e8c66dc66c0.tar.bz2
rails-9ab805d8809c11e6bc1d8db30f839e8c66dc66c0.zip
Change the behavior of db:test:clone task when schema_format is sql for consistency.
-rw-r--r--activerecord/lib/active_record/railties/databases.rake12
-rw-r--r--railties/test/application/rake_test.rb9
2 files changed, 20 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake
index 76a295f6b1..da6ba6eae2 100644
--- a/activerecord/lib/active_record/railties/databases.rake
+++ b/activerecord/lib/active_record/railties/databases.rake
@@ -355,8 +355,18 @@ db_namespace = namespace :db do
end
end
+ # desc "Recreate the test database from a fresh schema"
+ task :clone do
+ case ActiveRecord::Base.schema_format
+ when :ruby
+ db_namespace["test:clone_schema"].invoke
+ when :sql
+ db_namespace["test:clone_structure"].invoke
+ end
+ end
+
# desc "Recreate the test database from a fresh schema.rb file"
- task :clone => %w(db:schema:dump db:test:load_schema)
+ task :clone_schema => ["db:schema:dump", "db:test:load_schema"]
# desc "Recreate the test database from a fresh structure.sql file"
task :clone_structure => [ "db:structure:dump", "db:test:load_structure" ]
diff --git a/railties/test/application/rake_test.rb b/railties/test/application/rake_test.rb
index e0ee349550..7e33c80a12 100644
--- a/railties/test/application/rake_test.rb
+++ b/railties/test/application/rake_test.rb
@@ -144,6 +144,15 @@ module ApplicationTests
assert_no_match(/Errors running/, output)
end
+ def test_db_test_clone_when_using_sql_format
+ add_to_config "config.active_record.schema_format = :sql"
+ output = Dir.chdir(app_path) do
+ `rails generate scaffold user username:string;
+ bundle exec rake db:migrate db:test:clone 2>&1 --trace`
+ end
+ assert_match(/Execute db:test:clone_structure/, output)
+ end
+
def test_rake_dump_structure_should_respect_db_structure_env_variable
Dir.chdir(app_path) do
# ensure we have a schema_migrations table to dump