Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Heroku plugin to aid working with RDS databases

branch: develop

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 .gemspec
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 init.rb
README.md

Installation

Forewarning: Heroku RDS is not designed to work on Windows.

Gem-based install (recommended)

Gem-based plugins are new to the Heroku ecosystem, and require first installing the Herogems plugin:

heroku plugins:install http://github.com/hone/herogems.git

Now, simply install the gem and enable the plugin:

gem install heroku-rds
heroku herogems:enable heroku-rds

You can update to new releases of heroku-rds by running gem update heroku-rds.

Traditional install

heroku plugins:install http://github.com/wegowise/heroku-rds.git
gem install fog

To update, you must re-install the plugin using heroku plugins:install.

Optional Packages

  • Commands involving data transfer support a progress bar using pv. Install pv to see the awesome. Most package managers have a pv package:
brew install pv      # OS X
apt-get install pv   # linux/fink
port install pv      # BSD/macports
  • rds:access will use hirb if available to format the results. gem install hirb to see it.

Usage

Access the command list at any time by typing heroku help rds:

Usage: heroku rds

 Opens a MySQL console connected to the current database. Ingress access
 is required to run this command (use rds:ingress to grant access).

Additional commands, type "heroku help COMMAND" for more details:

  rds:access                            # displays current ingress access settings
  rds:dump [FILE]                       # Download a database dump, bzipped and saved locally
  rds:import FILE                       # uploads a local database dump into the remote databse
  rds:ingress [IP] [SECURITY GROUP]     # Authorize ingress access to a particular IP
  rds:pull [RAILS_ENV or DATABASE_URL]  # downloads the remote database into a local database
  rds:push [RAILS_ENV or DATABASE_URL]  # uploads the local database into the remote database
  rds:revoke [IP] [SECURITY GROUP]      # Revokes previously-granted ingress access from a particular IP

Planned features

  • rds:snapshot - capture a snapshot
  • rds:restore - restore from a snapshot
  • rds:reboot - reboot instance
  • rds:describe - show all RDS instances you have access to
  • rds:scale - change instance size

These commands are not ingress related so the target of the command cannot be inferred from DATABASE_URL. This functionality is also readily available from the RDS dashboard, so implementing them is not considered critical.

Something went wrong with that request. Please try again.