1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Fix loading a sql structure file on postgres when the file's path has whitespace in it

This commit is contained in:
Kevin Mook 2013-10-21 13:30:05 -04:00
parent 19639c7184
commit a733e00b10
3 changed files with 13 additions and 1 deletions

View file

@ -1,3 +1,8 @@
* Fix a bug where rake db:structure:load crashed when the path contained
spaces.
*Kevin Mook*
* `ActiveRecord::QueryMethods#unscope` unscopes negative equality * `ActiveRecord::QueryMethods#unscope` unscopes negative equality
Allows you to call `#unscope` on a relation with negative equality Allows you to call `#unscope` on a relation with negative equality

View file

@ -59,7 +59,7 @@ module ActiveRecord
def structure_load(filename) def structure_load(filename)
set_psql_env set_psql_env
Kernel.system("psql -q -f #{filename} #{configuration['database']}") Kernel.system("psql -q -f #{Shellwords.escape(filename)} #{configuration['database']}")
end end
private private

View file

@ -231,6 +231,13 @@ module ActiveRecord
ActiveRecord::Tasks::DatabaseTasks.structure_load(@configuration, filename) ActiveRecord::Tasks::DatabaseTasks.structure_load(@configuration, filename)
end end
def test_structure_load_accepts_path_with_spaces
filename = "awesome file.sql"
Kernel.expects(:system).with("psql -q -f awesome\\ file.sql my-app-db")
ActiveRecord::Tasks::DatabaseTasks.structure_load(@configuration, filename)
end
end end
end end