Guest User

Untitled

a guest
Mar 12th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. RYAML = <<-BASH
  2. function ryaml {
  3. ruby -ryaml -e 'puts ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[key] }' "$@"
  4. };
  5. BASH
  6.  
  7. namespace :sync do
  8. task :db do
  9. isolate do
  10. invoke :environment
  11.  
  12. queue RYAML
  13. queue "USERNAME=$(ryaml #{deploy_to}/shared/config/database.yml #{rails_env} username)"
  14. queue "PASSWORD=$(ryaml #{deploy_to}/shared/config/database.yml #{rails_env} password)"
  15. queue "DATABASE=$(ryaml #{deploy_to}/shared/config/database.yml #{rails_env} database)"
  16. queue "PGPASSWORD=$PASSWORD pg_dump -U $USERNAME $DATABASE -c -f #{deploy_to}/dump.sql"
  17. queue "gzip -f #{deploy_to}/dump.sql"
  18.  
  19. mina_cleanup!
  20. end
  21.  
  22. %x[scp #{user}@#{domain}:#{deploy_to}/dump.sql.gz .]
  23. %x[gunzip -f dump.sql.gz]
  24. %x[#{RYAML} psql -d $(ryaml config/database.yml development database) -f dump.sql]
  25. %x[rm dump.sql]
  26. end
  27. end
Add Comment
Please, Sign In to add comment