aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2013-12-29 11:05:04 +0000
committerJon Leighton <j@jonathanleighton.com>2014-01-02 13:49:00 +0000
commitff7ab3bc78abc3e8439a57ef7d755c5aa5b069f4 (patch)
tree5ad6aed8ee454c320967d767229debde268da2e2 /railties/lib
parenta1d0c0fa3d8ca97edc8f2a1d6ba96af19221dbad (diff)
downloadrails-ff7ab3bc78abc3e8439a57ef7d755c5aa5b069f4.tar.gz
rails-ff7ab3bc78abc3e8439a57ef7d755c5aa5b069f4.tar.bz2
rails-ff7ab3bc78abc3e8439a57ef7d755c5aa5b069f4.zip
Automatically maintain test database schema
* Move check from generated helper to test_help.rb, so that all applications can benefit * Rather than just raising when the test schema has pending migrations, try to load in the schema and only raise if there are pending migrations afterwards * Opt out of the check by setting config.active_record.maintain_test_schema = false * Deprecate db:test:* tasks. The test helper is now fully responsible for maintaining the test schema, so we don't need rake tasks for this. This is also a speed improvement since we're no longer reloading the test database on every call to "rake test".
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails/generators/rails/app/templates/test/test_helper.rb2
-rw-r--r--railties/lib/rails/test_help.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/railties/lib/rails/generators/rails/app/templates/test/test_helper.rb b/railties/lib/rails/generators/rails/app/templates/test/test_helper.rb
index 4fd060341e..4ade1a0bdc 100644
--- a/railties/lib/rails/generators/rails/app/templates/test/test_helper.rb
+++ b/railties/lib/rails/generators/rails/app/templates/test/test_helper.rb
@@ -4,8 +4,6 @@ require 'rails/test_help'
class ActiveSupport::TestCase
<% unless options[:skip_active_record] -%>
- ActiveRecord::Migration.check_pending!
-
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
#
# Note: You'll currently still have to declare fixtures explicitly in integration tests
diff --git a/railties/lib/rails/test_help.rb b/railties/lib/rails/test_help.rb
index 7765c9ae86..2e6356343d 100644
--- a/railties/lib/rails/test_help.rb
+++ b/railties/lib/rails/test_help.rb
@@ -15,6 +15,8 @@ if ENV["BACKTRACE"].nil?
end
if defined?(ActiveRecord::Base)
+ ActiveRecord::Migration.maintain_test_schema!
+
class ActiveSupport::TestCase
include ActiveRecord::TestFixtures
self.fixture_path = "#{Rails.root}/test/fixtures/"