Photo by mondopiccolo Capistranoではdeployしても、前のソースが残っているために、すぐに前のバージョンに戻せますが、データベースはそうはいきません。 そこで、deploy:migrationsを実行する前に自動でDBのバックアップを取るようなタスクを探してみました。 MySQL専用ですが、これでローカルのbackupsというディレクトリに、migration実行前のダンプがダウンロードされます。 require 'yaml' desc "Backup the remote production database" task :backup, :roles => :db, :only => { :primary => true } do filename = "#{application}.dump.#{Time.now.to_i}.sql.bz2" fi
![Capistranoでmigrationsする前に自動でバックアップ](https://cdn-ak-scissors.b.st-hatena.com/image/square/e0c3e6eb1dcbe2c5d79bea7d7e896f7cfa7135f4/height=288;version=1;width=512/http%3A%2F%2Ffarm1.static.flickr.com%2F162%2F381993996_27124544a4_m.jpg)