diff --git a/lib/tasks/app.rake b/lib/tasks/app.rake
index 0dbd50b3707fa44f832cc5425481710f95eafdc5..926c21252b71f25e0e569d79bb84308e57777613 100644
--- a/lib/tasks/app.rake
+++ b/lib/tasks/app.rake
@@ -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