Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2015
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. module ActiveRecord
  2. module Tasks # :nodoc:
  3. class PostgreSQLDatabaseTasks # :nodoc:
  4. def structure_dump(filename)
  5. set_psql_env
  6.  
  7. puts "The monkeypatch located in #{__FILE__} should be removed when upgrading to Rails 5.0"
  8. search_path = nil # Dump all schemas
  9.  
  10. unless search_path.blank?
  11. search_path = search_path.split(",").map{|search_path_part| "--schema=#{Shellwords.escape(search_path_part.strip)}" }.join(" ")
  12. end
  13.  
  14. command = "pg_dump --exclude-schema='tenant*' -i -s -x -O -f #{Shellwords.escape(filename)} #{search_path} #{Shellwords.escape(configuration['database'])}"
  15. raise 'Error dumping database' unless Kernel.system(command)
  16.  
  17. File.open(filename, "a") { |f| f << "SET search_path TO #{connection.schema_search_path};\n\n" }
  18. end
  19. end
  20. end
  21. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement