Merge pull request #29894 from eugeneius/check_schema_file_dup_string

Avoid modifying frozen string in check_schema_file
This commit is contained in:
Kasper Timm Hansen 2017-07-24 13:00:05 +02:00 committed by GitHub
commit 0449d8b6bc
2 changed files with 8 additions and 1 deletions

View File

@ -261,7 +261,7 @@ module ActiveRecord
def check_schema_file(filename)
unless File.exist?(filename)
message = %{#{filename} doesn't exist yet. Run `rails db:migrate` to create it, then try again.}
message = %{#{filename} doesn't exist yet. Run `rails db:migrate` to create it, then try again.}.dup
message << %{ If you do not intend to use a database, you should instead alter #{Rails.root}/config/application.rb to limit the frameworks that will be loaded.} if defined?(::Rails.root)
Kernel.abort message
end

View File

@ -259,6 +259,13 @@ module ApplicationTests
end
end
test "db:schema:load fails if schema.rb doesn't exist yet" do
Dir.chdir(app_path) do
stderr_output = capture(:stderr) { `bin/rails db:schema:load` }
assert_match /Run `rails db:migrate` to create it/, stderr_output
end
end
def db_test_load_structure
Dir.chdir(app_path) do
`bin/rails generate model book title:string;