Skip to content
Snippets Groups Projects
Unverified Commit 4653baeb authored by Sébastien Gaya's avatar Sébastien Gaya
Browse files

staging db task

parent e3f4d569
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,26 @@ namespace :app do
namespace :db do
desc 'Get database from Scalingo'
task :staging do
Bundler.with_unbundled_env do
# Get a new backup archive from Scalingo
# PG Addon ID from `scalingo addons` CLI command.
sh "scalingo --app #{ENV['OSUNY_STAGING_APP_NAME']} backups-create --addon #{ENV['OSUNY_STAGING_PG_ADDON_ID']}"
sh "scalingo --app #{ENV['OSUNY_STAGING_APP_NAME']} backups-download --addon #{ENV['OSUNY_STAGING_PG_ADDON_ID']} --output db/scalingo-dump.tar.gz"
sh 'rm -f db/latest.dump' # Remove an old backup file if it exists
sh 'tar zxvf db/scalingo-dump.tar.gz -C db/' # Extract the new backup archive
sh 'rm db/scalingo-dump.tar.gz' # Remove the backup archive
sh 'mv db/*.pgsql db/latest.dump' # Rename the backup file
sh 'DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rails db:drop'
sh 'bundle exec rails db:create'
begin
sh 'pg_restore --verbose --clean --no-acl --no-owner -h localhost -U postgres -d osuny_development db/latest.dump'
rescue
'There were some warnings or errors while restoring'
end
sh 'rails db:migrate'
sh 'rails db:seed'
end
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment