Caution
Dear Users,
This repository was deprecated and archived on the 7th of March on 2024.
If you want to backup and restore your databases, please use ou CLI and the
instruction available in our documentation: https://doc.scalingo.com/
A gem providing rake tasks such as backup and restore for database manipulations on Scalingo.
Currently supported databases:
- MongoDB
- MySQL
- PostgreSQL
Available tasks for each database:
backup_local
: make a backup of local databasebackup_remote
: make a backup of remote Scalingo databaserestore_local
: restore a local database with an archiverestore_remote
: restore a remote Scalingo database with an archive
For remote operations you will have to set your shell's environment variable APP
as your app name on Scalingo. The variable DB_ENV_NAME
is optional, by default it will be the one generated when you provisionned the database addon. For example, if your database is a MongoDB then the variable will be SCALINGO_MONGO_URL
.
Global:
APP
: Scalingo app name (mandatory)DB_ENV_NAME
: Scalingo database connection var name, e.g.SCALINGO_MONGO_URL
(optional)SSH_IDENTITY
: specify a SSH identity file, e.g.~/.ssh/id_rsa
(optional)
MongoDB:
FILE
: your database config file name, e.g.database
(optional)
PostgreSQL:
PG_DUMP_CMD
: specify the path or command name of the tool to use, default:pg_dump
(optional)PG_RESTORE_CMD
:specify the path or command name of the tool to use, default:pg_restore
(optional)
To see the complete list of tasks: rake -T scalingo
Example of commands for MongoDB:
rake scalingo:mongodb:backup_local
rake scalingo:mongodb:backup_remote
rake scalingo:mongodb:restore_local
rake scalingo:mongodb:restore_remote
Backups are stored under the tmp
folder of your project, the database type is part of the archive name (e.g. scalingo_mongodb_dump.tar.gz).
To restore from a specific archive, you'll have to give it the default archive name and put it inside of tmp
folder before running the rake command.
If you are not using a SSH agent and your default SSH identity file is not id_rsa
you can specify your custom identity file path with the SSH_IDENTITY
variable.
Add this line to your application's Gemfile:
gem 'scalingo_databases_rake_tasks'
And then execute:
$ bundle
Or install it yourself as:
$ gem install scalingo_databases_rake_tasks
For Rails apps nothing to do.
For other apps, add require "scalingo_databases_rake_tasks"
to your Rakefile.
After checking out the repo, run bin/setup
to install dependencies. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/Scalingo/scalingo_databases_rake_tasks-gem.