aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEileen M. Uchitelle <eileencodes@users.noreply.github.com>2019-07-31 12:50:44 -0400
committerGitHub <noreply@github.com>2019-07-31 12:50:44 -0400
commit33671d30f4a5a7c1b7d21379e72effdadf3b46b8 (patch)
tree61adca8929aa6274cf4526395e78cd82cac07cd5
parent4c8c8c87b07844b26564ca6aa2052660e601bc3d (diff)
parentcd148be07298e298bb84f5df7b973f2b188830ee (diff)
downloadrails-33671d30f4a5a7c1b7d21379e72effdadf3b46b8.tar.gz
rails-33671d30f4a5a7c1b7d21379e72effdadf3b46b8.tar.bz2
rails-33671d30f4a5a7c1b7d21379e72effdadf3b46b8.zip
Merge pull request #36824 from eileencodes/fix-db-seed
Fix db:seed
-rw-r--r--activerecord/lib/active_record/railties/databases.rake2
-rw-r--r--railties/test/application/rake/multi_dbs_test.rb19
2 files changed, 21 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
diff --git a/railties/test/application/rake/multi_dbs_test.rb b/railties/test/application/rake/multi_dbs_test.rb
index 2606e64424..c5f8904f4e 100644
--- a/railties/test/application/rake/multi_dbs_test.rb
+++ b/railties/test/application/rake/multi_dbs_test.rb
@@ -349,6 +349,25 @@ module ApplicationTests
rails "db:drop" rescue nil
end
end
+
+ test "db:seed uses primary database connection" do
+ @old_rails_env = ENV["RAILS_ENV"]
+ @old_rack_env = ENV["RACK_ENV"]
+ ENV.delete "RAILS_ENV"
+ ENV.delete "RACK_ENV"
+
+ db_migrate_and_schema_dump_and_load "schema"
+
+ app_file "db/seeds.rb", <<-RUBY
+ print Book.connection.pool.spec.config[:database]
+ RUBY
+
+ output = rails("db:seed")
+ assert_equal output, "db/development.sqlite3"
+ ensure
+ ENV["RAILS_ENV"] = @old_rails_env
+ ENV["RACK_ENV"] = @old_rack_env
+ end
end
end
end