Add database AND assets tasks to capistrano to a Rails project.
Currently
- It only supports mysql (both side remote and local)
- Synchronize remote to local and local to remote
Commands mysql, mysqldump, bzip2 and unbzip2 must be in your PATH
Feel free to fork and to add more database support or new tasks.
gem install capistrano-db-tasks
Or add the gem to your Gemfile
group :development do
gem 'capistrano-db-tasks', :require => false
end
Add to config/deploy.rb:
require 'capistrano-db-tasks'
# if you haven't already specified
set :rails_env, "production"
# if you want to remove the dump file after loading
set :db_local_clean, true
# If you want to import assets, you can change default asset dir (default = system)
# This directory must be in your shared directory on the server
set :assets_dir, %w(public/assets public/att)
# if you want to work on a specific local environment (default = ENV['RAILS_ENV'] || 'development')
set :locals_rails_env, "production"
db:pull # Synchronize your local database using remote database data
assets:pull # Synchronize your local assets using remote assets
app:pull # Synchronize your local assets AND local database using remote assets and database
db:push # Synchronize the local database to the remote database
cap db:pull
cap production db:pull # if you are using capistrano-ext to have multistages
- tilsammans (http://github.com/tilsammansee)
- May be change project's name as it's not only database tasks now :)
- Add synchronization of assets from local to remote
- Add tests
Copyright (c) 2009 [Sébastien Gruhier - XILINUS], released under the MIT license