diff options
| author | Rosemary Sanchez <rsanchez@madebyuppercut.com> | 2013-08-09 14:02:28 -0700 |
|---|---|---|
| committer | Rosemary Sanchez <rsanchez@madebyuppercut.com> | 2013-08-09 14:02:28 -0700 |
| commit | f720f3a81cf7a7077bcf320c9a0db0ca4fb1df3a (patch) | |
| tree | b3bd7e60168e7619129281472d12c7c5f916bb18 /lib/tasks | |
| parent | c69a7be929e50678c92bd7a7114788de13ee3d74 (diff) | |
| parent | 8eee6727265617955a1839ef2f8c69d9fe75db36 (diff) | |
Add tasks to backup remote databases and restore them locally.
Diffstat (limited to 'lib/tasks')
| -rw-r--r-- | lib/tasks/db.rake | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake new file mode 100644 index 0000000..38fb2c5 --- /dev/null +++ b/lib/tasks/db.rake @@ -0,0 +1,17 @@ +require "yaml" + +namespace :db do + desc 'backup database (rake db:backup["prod"])' + task :backup, :env do |key, value| + environment = value[:env] || 'qa' + sh "cap #{environment} postgresql:backup" + end + + desc 'restore database to local' + task :restore, :env do |key, value| + environment = value[:env] || 'development' + all_configuration = YAML.load_file(File.join(File.dirname(__FILE__), '../../config/database.yml' )) + config = all_configuration[environment] + sh "pg_restore --verbose --clean --no-acl --no-owner -h #{config["host"]} -U #{config["username"]} -d #{config["database"]} tmp/database.dump" + end +end |
