Advertisement
Guest User

Untitled

a guest
Feb 1st, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. # lib/tasks/db_pull.rake
  2. # set below first on mysql server:
  3. # mysql_config_editor set --login-path=local --host=localhost --user=root --password
  4. #
  5. #
  6. namespace :db do
  7. desc 'Pull production db to development'
  8. task :pull => [:dump, :restore]
  9.  
  10. task :dump do
  11. dumpfile = "#{Rails.root}/tmp/latest.dump"
  12. production = Rails.application.config.database_configuration['pro']
  13.  
  14. ssh_user = "ubuntu"
  15. ssh_host = production['host']
  16.  
  17. puts 'mysqldump on production database...'
  18. system "ssh #{ssh_user}@#{ssh_host} 'mysqldump --login-path=local -i -c -q --add-drop-table --skip-lock-tables --verbose #{production['database']}' > #{dumpfile}"
  19. puts 'Done!'
  20. end
  21.  
  22. task :restore do
  23. dev = Rails.application.config.database_configuration['development']
  24. abort 'Live db is not mysql' unless dev['adapter'] =~ /mysql/
  25. abort 'Missing live db config' if dev.blank?
  26. dumpfile = "#{Rails.root}/tmp/latest.dump"
  27. puts 'importing production database to development database...'
  28. system "mysql -h #{dev['host']} -u #{dev['username']} --password=#{dev['password']} #{dev['database']} < #{dumpfile}"
  29. puts 'Done!'
  30. end
  31. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement