cap_db_dump

Capistrano Tasks for dumping and transfering production databases

GPL-3.0 License

Downloads
12.2K
Stars
10
Committers
3

= CAP DB DUMP

Capistrano recipes for backing your production database and transferring it to your local machine.

== INSTALLATION

  1. Install the gem in bundler's Gemfile:

gem 'cap_db_dump'

$ bundle install

  1. Require the gem in the cap file:

require 'cap_db_dump/recipes'

Finally, add the :db_dump => true flag on the server where you'd like the mysqldump to run:

task :staging do role :web, 'example.com' role :app, 'example.com' role :db, 'example.com', :primary => true, :db_dump => true end

Make sure rails_env and database_engine variables are set

set :rails_env, "production" set :database_engine, :mysql # specify :mysql | :psql

You also might want to add these to your .gitignore:

current.sql.gz
*dump_*.sql.gz

== USAGE

Create a dump:

cap database:dump

Create a dump, and transfer it with scp:

cap database:dump_and_transfer

Only dump the schema for a given set of tables (don't dump the data):

set :schema_only_tables, [:sessions, :my_large_table]

== Restore script

Restore script is not included, but you may want to do something like this (postgres example):

#!/usr/bin/env bash

set -x

createdb my_app_development

set -e

gunzip -c current.sql.gz -k | pg_restore --verbose --clean --no-acl --no-owner -h localhost -d my_app_development

== Contributors:

Conor Hunt (conorh) Stephen Schor (nodanaonlyzuul)

== COPYRIGHT

Copyright (c) 2008-2022 Scott Taylor / Eastmedia [email protected]

Released under the MIT + GPL licenses

Package Rankings
Top 26.13% on Rubygems.org
Related Projects