CAP DB DUMP¶ ↑
Capistrano recipes for backing your production database and transferring it to your local machine.
INSTALLATION¶ ↑
-
Install the gem in bundler’s Gemfile:
gem 'cap_db_dump' $ bundle install
-
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 © 2008-2022 Scott Taylor / Eastmedia <scott@eastmedia.com>
Released under the MIT + GPL licenses