diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-09-03 17:31:38 +0200 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-09-03 18:02:44 +0200 |
commit | ded17a498aaed63a80fe0bbf4d184aa3e468b023 (patch) | |
tree | f552d5c9e2e8b7f01d3cda3f1c94807afbcbb421 /activerecord/lib/active_record | |
parent | e2ce4c7aa3e15ffba9436bd8d179a28351d41e1f (diff) | |
download | rails-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/active_record')
-rw-r--r-- | activerecord/lib/active_record/tasks/database_tasks.rb | 2 |
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) |