aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-09-03 17:31:38 +0200
committerYves Senn <yves.senn@gmail.com>2014-09-03 18:02:44 +0200
commitded17a498aaed63a80fe0bbf4d184aa3e468b023 (patch)
treef552d5c9e2e8b7f01d3cda3f1c94807afbcbb421 /activerecord/lib
parente2ce4c7aa3e15ffba9436bd8d179a28351d41e1f (diff)
downloadrails-ded17a498aaed63a80fe0bbf4d184aa3e468b023.tar.gz
rails-ded17a498aaed63a80fe0bbf4d184aa3e468b023.tar.bz2
rails-ded17a498aaed63a80fe0bbf4d184aa3e468b023.zip
schema loading rake tasks maintain database connection for current env.
[Joshua Cody & Yves Senn] Closes #16757. Prior to this patch schema loading rake tasks had the potential to leak a connection to a different database. This had side-effects when rake tasks operating on the current connection (like `db:seed`) were chained.
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/tasks/database_tasks.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/tasks/database_tasks.rb b/activerecord/lib/active_record/tasks/database_tasks.rb
index 331c1b7b63..f9b54139d5 100644
--- a/activerecord/lib/active_record/tasks/database_tasks.rb
+++ b/activerecord/lib/active_record/tasks/database_tasks.rb
@@ -171,6 +171,7 @@ module ActiveRecord
each_current_configuration(environment) { |configuration|
purge configuration
}
+ ActiveRecord::Base.establish_connection(environment.to_sym)
end
def structure_dump(*arguments)
@@ -217,6 +218,7 @@ module ActiveRecord
each_current_configuration(environment) { |configuration|
load_schema_for configuration, format, file
}
+ ActiveRecord::Base.establish_connection(environment.to_sym)
end
def check_schema_file(filename)