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
でロールバックできます。
※使用に関しては自己責任でお願いします。