summaryrefslogtreecommitdiff
path: root/lib/tasks
diff options
context:
space:
mode:
authorRosemary Sanchez <rsanchez@madebyuppercut.com>2013-08-09 14:02:28 -0700
committerRosemary Sanchez <rsanchez@madebyuppercut.com>2013-08-09 14:02:28 -0700
commitf720f3a81cf7a7077bcf320c9a0db0ca4fb1df3a (patch)
treeb3bd7e60168e7619129281472d12c7c5f916bb18 /lib/tasks
parentc69a7be929e50678c92bd7a7114788de13ee3d74 (diff)
parent8eee6727265617955a1839ef2f8c69d9fe75db36 (diff)
Merge pull request #18 from madebyuppercut/moHEADmaster
Add tasks to backup remote databases and restore them locally.
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/db.rake17
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