aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorEileen M. Uchitelle <eileencodes@users.noreply.github.com>2019-06-27 10:08:08 -0400
committerGitHub <noreply@github.com>2019-06-27 10:08:08 -0400
commit40246125b99ed1f7d7ea869980523e50a0ec9a96 (patch)
tree4aed0818ec9c3c39c945bf39b71a3ce988adf9fe /railties
parent1518ce3dc8dc092a32cf1020ff7c67f2337b3993 (diff)
parentdf6b0de7d9522c46c140c556ee61e09df14ef97a (diff)
downloadrails-40246125b99ed1f7d7ea869980523e50a0ec9a96.tar.gz
rails-40246125b99ed1f7d7ea869980523e50a0ec9a96.tar.bz2
rails-40246125b99ed1f7d7ea869980523e50a0ec9a96.zip
Merge pull request #36560 from eileencodes/warn-if-database-yml-cant-be-read
Warn if we can't read the yaml to create database tasks
Diffstat (limited to 'railties')
-rw-r--r--railties/test/application/rake/dbs_test.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/railties/test/application/rake/dbs_test.rb b/railties/test/application/rake/dbs_test.rb
index e08cd09abd..79c521dbf6 100644
--- a/railties/test/application/rake/dbs_test.rb
+++ b/railties/test/application/rake/dbs_test.rb
@@ -40,6 +40,15 @@ module ApplicationTests
end
end
+ def db_create_with_warning(expected_database)
+ Dir.chdir(app_path) do
+ output = rails("db:create")
+ assert_match(/Rails couldn't infer whether you are using multiple databases/, output)
+ assert_match(/Created database/, output)
+ assert File.exist?(expected_database)
+ end
+ end
+
test "db:create and db:drop without database URL" do
require "#{app_path}/config/environment"
db_create_and_drop ActiveRecord::Base.configurations[Rails.env]["database"]
@@ -86,6 +95,25 @@ module ApplicationTests
db_create_and_drop("db/development.sqlite3", environment_loaded: false)
end
+ test "db:create and db:drop show warning but doesn't raise errors when loading YAML with alias ERB" do
+ app_file "config/database.yml", <<-YAML
+ sqlite: &sqlite
+ adapter: sqlite3
+ database: db/development.sqlite3
+
+ development:
+ <<: *<%= ENV["DB"] || "sqlite" %>
+ YAML
+
+ app_file "config/environments/development.rb", <<-RUBY
+ Rails.application.configure do
+ config.database = "db/development.sqlite3"
+ end
+ RUBY
+
+ db_create_with_warning("db/development.sqlite3")
+ end
+
test "db:create and db:drop don't raise errors when loading YAML containing conditional statements in ERB" do
app_file "config/database.yml", <<-YAML
development: