= Porter Gem The Porter gem is comprised of Capistrano and Rake tasks that make cloning your production server data down to your development environment a cinch. == Overview * A mysqldump command is remotely issued (via Capistrano) to the remote server (production or staging environment), saving the result as a compressed (gz) file * The database backup file from the server is retrieved (via scp) and decompressed * The development database is dropped, recreated, and restored from the backup * Assets stored in shared/public are rysnc'd down to your local public directory (exclusions are accepted!) * Separate rake tasks are included for restoring the db and re-syncing the assets without re-dumping the remote db == Dependencies * Capistrano (and a config/deploy.rb file) * Rake * A Rails App * rsync (locally and remotely) == Installation * sudo gem install porter * config.gem 'porter' * script/generate porter * See the generated config/porter_config.yml - it's pretty straight-forward == Usage * cap porter:[stage] (creates the remote db backup file then calls the two rake tasks below) * rake porter:[stage]:db (if you've already got a db backup on the remote server and want to restore from it again) * rake porter:[stage]:assets (rsync the assets down from the remote server again) Note: [stage] is most likely going to be 'production' unless your app has a staging or demo environment and you want to pull from there instead. == Copyright Copyright (c) 2010 Kenny Johnston. See LICENSE for details.