diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-12-15 10:45:03 -0800 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-12-15 10:45:03 -0800 |
commit | b0e06ec0da901304cbf458676da0d3837e49cc4e (patch) | |
tree | d4e918f2a00ed69e35a2da4e09228a8cd5ccba4d | |
parent | 0e5ef3f3ec2ec9568af34a970b19042a20cb0a34 (diff) | |
parent | 2648819ef1ec412cfd1798a0df58939c0f1641d5 (diff) | |
download | rails-b0e06ec0da901304cbf458676da0d3837e49cc4e.tar.gz rails-b0e06ec0da901304cbf458676da0d3837e49cc4e.tar.bz2 rails-b0e06ec0da901304cbf458676da0d3837e49cc4e.zip |
Merge pull request #13312 from arthurnn/fix_db_task_req
db:test:clone and prepare must load environment
-rw-r--r-- | activerecord/CHANGELOG.md | 7 | ||||
-rw-r--r-- | activerecord/lib/active_record/railties/databases.rake | 5 | ||||
-rw-r--r-- | railties/test/application/rake_test.rb | 6 |
3 files changed, 13 insertions, 5 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 4845150a24..5dc369ebf1 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,3 +1,10 @@ +* db:test:clone and db:test:prepare must load Rails environment + + db:test:clone and db:test:prepare use ActiveRecord::Base. configurations, + so we need to load the rails environment, otherwise the config wont be in place. + + *arthurnn* + * Create a whitelist of delegable methods to `Array`. Currently `Relation` directly delegates methods to `Array`. With this change, diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake index 52b3d3e5e6..0fdfed991c 100644 --- a/activerecord/lib/active_record/railties/databases.rake +++ b/activerecord/lib/active_record/railties/databases.rake @@ -343,7 +343,7 @@ db_namespace = namespace :db do end # desc "Recreate the test database from a fresh schema" - task :clone do + task :clone => :environment do case ActiveRecord::Base.schema_format when :ruby db_namespace["test:clone_schema"].invoke @@ -364,7 +364,7 @@ db_namespace = namespace :db do end # desc 'Check for pending migrations and load the test schema' - task :prepare => :load_config do + task :prepare => [:environment, :load_config] do unless ActiveRecord::Base.configurations.blank? db_namespace['test:load'].invoke end @@ -401,4 +401,3 @@ namespace :railties do end task 'test:prepare' => ['db:test:prepare', 'db:test:load', 'db:abort_if_pending_migrations'] - diff --git a/railties/test/application/rake_test.rb b/railties/test/application/rake_test.rb index 08316d80e6..33d3c4a19e 100644 --- a/railties/test/application/rake_test.rb +++ b/railties/test/application/rake_test.rb @@ -208,7 +208,8 @@ module ApplicationTests 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` + bundle exec rake db:migrate; + bundle exec rake db:test:clone 2>&1 --trace` end assert_match(/Execute db:test:clone_structure/, output) end @@ -217,7 +218,8 @@ module ApplicationTests 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:prepare 2>&1 --trace` + bundle exec rake db:migrate; + bundle exec rake db:test:prepare 2>&1 --trace` end assert_match(/Execute db:test:load_structure/, output) end |