aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2019-07-31 12:22:01 -0400
committereileencodes <eileencodes@gmail.com>2019-07-31 12:22:01 -0400
commitcd148be07298e298bb84f5df7b973f2b188830ee (patch)
tree61adca8929aa6274cf4526395e78cd82cac07cd5 /activerecord
parent4c8c8c87b07844b26564ca6aa2052660e601bc3d (diff)
downloadrails-cd148be07298e298bb84f5df7b973f2b188830ee.tar.gz
rails-cd148be07298e298bb84f5df7b973f2b188830ee.tar.bz2
rails-cd148be07298e298bb84f5df7b973f2b188830ee.zip
Fix db:seed
The `rake db:seed` command was broken for the primary environment if the application is using multiple databases. We never implemented `rake db:seed` for other databases (coming soon), but that shouldn't break the default case. The reason this was broken was because `abort_if_pending_migrations` would loop through the configs for all databases and check for migrations but would leave the last established connection. So `db:seed` was looking in the wrong database for the table to seed. This PR doesn't fix the fact that `db:seed` doesn't work for multiple databases but does fix the default case. Fixes #36817 Co-authored-by: John Crepezzi <john.crepezzi@gmail.com>
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/railties/databases.rake2
1 files changed, 2 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/railties/databases.rake b/activerecord/lib/active_record/railties/databases.rake
index 4d9acc911b..d699e2e21b 100644
--- a/activerecord/lib/active_record/railties/databases.rake
+++ b/activerecord/lib/active_record/railties/databases.rake
@@ -265,6 +265,8 @@ db_namespace = namespace :db do
end
abort %{Run `rails db:migrate` to update your database then try again.}
end
+ ensure
+ ActiveRecord::Base.establish_connection(ActiveRecord::Tasks::DatabaseTasks.env.to_sym)
end
namespace :abort_if_pending_migrations do