productionやstagingのDBからデータをコピーしたい時、yaml_dbなどありますが、ちょっとパフォーマンスが悪いです。
そこで、mysqldump
を使ってDBをダンプし、emailなどのprivacy情報を潰すcapistranoタスクを作りました。
使い方は簡単。Gemfile
にgem "capistrano-db-mirror"
などとして、
Capfile
に以下を追加。
require "capistrano/db-mirror"
cap staging db:mirror
とするだけ!
mysqldumpによりdumpしたファイルをダウンロードして、ローカルでロードします。
念のため、./dump
に1つ前のデータが残っており、
rake db:mirror:rollback
でロールバックできます。
※使用に関しては自己責任でお願いします。