Commit 2e1cb4ea
Changed files (3)
config
lib
tasks
config/deploy.rb
@@ -28,6 +28,5 @@ after 'deploy:update_code', 'deploy:symlink_db'
namespace :deploy do
task :symlink_db, :roles => :app do
run "ln -nfs #{release_path}/config/database.production.yml.example #{release_path}/config/database.yml"
- #run "ln -nfs #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml"
end
end
lib/tasks/database.rake
@@ -1,8 +1,16 @@
-task :restore do
- # 1. backup prod database
- sh "cap production backup_db"
- # 2. copy backup to staging
- sh "rm -f latest && ln -s db/backups/`ls -rt db/backups/ | tail -n1` latest"
- # 3. restore backup on staging
- sh "cap staging restore_db"
+namespace :db do
+ task :restore do
+ dumpfile = "latest"
+ config = Rails.configuration.database_configuration
+ destination_db = config[Rails.env]["database"]
+ puts "restoring to #{destination_db}"
+ sh "psql #{destination_db} < #{dumpfile}"
+ end
+ task :backup do
+ sh "cap production backup_db"
+ sh "rm -f latest && ln -s db/backups/`ls -rt db/backups/ | tail -n1` latest"
+ end
+ task :restore_to_staging => :backup do
+ sh "cap staging restore_db"
+ end
end
lib/tasks/deployment.rake
@@ -1,7 +1,6 @@
namespace :deploy do
desc "deploy to staging server"
task :staging => :spec do
- #sh "cap staging deploy"
sh "cap staging deploy:migrations"
sh "curl http://staging.cakeside.com/ > /dev/null"
end