aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorArthur Nogueira Neves <github@arthurnn.com>2016-03-24 14:13:31 -0400
committerArthur Nogueira Neves <github@arthurnn.com>2016-03-24 14:13:31 -0400
commit133befb59b8389cb483fd4194acdcddc5e288ab4 (patch)
tree61c9176469320b8a12f1d9fb60b45d265591dbf8 /activerecord
parent5dc4bf82914811f37eefc9098d70b7aff7527c33 (diff)
parent16dadb1223fcabc9d904456d4b64d6e82f9e1a76 (diff)
downloadrails-133befb59b8389cb483fd4194acdcddc5e288ab4.tar.gz
rails-133befb59b8389cb483fd4194acdcddc5e288ab4.tar.bz2
rails-133befb59b8389cb483fd4194acdcddc5e288ab4.zip
Merge pull request #24305 from chrisarcand/reload-ar-cache-after-migrations
Make 'migrate' clear the schema cache afterward
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/tasks/database_tasks.rb1
-rw-r--r--activerecord/test/cases/tasks/database_tasks_test.rb15
2 files changed, 14 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/tasks/database_tasks.rb b/activerecord/lib/active_record/tasks/database_tasks.rb
index 261a6a264f..8881986f1b 100644
--- a/activerecord/lib/active_record/tasks/database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/database_tasks.rb
@@ -159,6 +159,7 @@ module ActiveRecord
Migrator.migrate(migrations_paths, version) do |migration|
scope.blank? || scope == migration.scope
end
+ ActiveRecord::Base.clear_cache!
ensure
Migration.verbose = verbose_was
end
diff --git a/activerecord/test/cases/tasks/database_tasks_test.rb b/activerecord/test/cases/tasks/database_tasks_test.rb
index 429aeca1d9..0aac5bad31 100644
--- a/activerecord/test/cases/tasks/database_tasks_test.rb
+++ b/activerecord/test/cases/tasks/database_tasks_test.rb
@@ -309,19 +309,30 @@ module ActiveRecord
end
class DatabaseTasksMigrateTest < ActiveRecord::TestCase
+ def setup
+ ActiveRecord::Tasks::DatabaseTasks.migrations_paths = 'custom/path'
+ end
+
+ def teardown
+ ActiveRecord::Tasks::DatabaseTasks.migrations_paths = nil
+ end
+
def test_migrate_receives_correct_env_vars
verbose, version = ENV['VERBOSE'], ENV['VERSION']
- ActiveRecord::Tasks::DatabaseTasks.migrations_paths = 'custom/path'
ENV['VERBOSE'] = 'false'
ENV['VERSION'] = '4'
ActiveRecord::Migrator.expects(:migrate).with('custom/path', 4)
ActiveRecord::Tasks::DatabaseTasks.migrate
ensure
- ActiveRecord::Tasks::DatabaseTasks.migrations_paths = nil
ENV['VERBOSE'], ENV['VERSION'] = verbose, version
end
+
+ def test_migrate_clears_schema_cache_afterward
+ ActiveRecord::Base.expects(:clear_cache!)
+ ActiveRecord::Tasks::DatabaseTasks.migrate
+ end
end
class DatabaseTasksPurgeTest < ActiveRecord::TestCase