Repository is archived
No release in over 3 years
Low commit activity in last 3 years
Perform database related tasks on Scalingo.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.10
~> 10.0

Runtime

 Project Readme

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.