Skip to content
This repository has been archived by the owner on Mar 7, 2024. It is now read-only.

Set of rake tasks to dump and restore databases (mysql, pgsql, mongo)

Notifications You must be signed in to change notification settings

Scalingo/scalingo_databases_rake_tasks-gem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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/

ScalingoDatabasesRakeTasks

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 database
  • backup_remote: make a backup of remote Scalingo database
  • restore_local: restore a local database with an archive
  • restore_remote: restore a remote Scalingo database with an archive

Usage

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.

Available Env Vars

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)

Commands

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

Backup and Restore

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.

SSH Identity

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.

Installation

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.

Development

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.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/Scalingo/scalingo_databases_rake_tasks-gem.

About

Set of rake tasks to dump and restore databases (mysql, pgsql, mongo)

Resources

Stars

Watchers

Forks

Packages

No packages published