Sha256: 80da286cb16f334a8fbe6744dd102c4a0a3523b9e5df182028ac8c392454a34d

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

require "capistrano"

if instance = Capistrano::Configuration.instance
  instance.load do

    namespace :porter do

      task :db do
        set :user, ENV["AS"] || ENV["USER"]
        puts "Connecting to #{domain} as #{user}..."

        puts "Reading database.yml on #{domain}..."
        database_yml = ""
        run "cat #{deploy_to}/current/config/database.yml" do |channel, stream, data|
          database_yml << data
        end

        config   = YAML::load(database_yml)[stage.to_s]
        database = config["database"]
        username = config["username"]
        password = config["password"]

        puts "Creating compressed backup of #{database} database on #{domain}..."
        run "mysqldump --user=#{username} --password=#{password} #{database} | gzip > ~/#{database}.sql.gz"

        system "rake porter:db DOMAIN=#{domain} DATABASE=#{database} --trace"
      end

      task :assets do
        system "rake porter:assets STAGE=#{stage.to_s} DOMAIN=#{domain} APP_DIR=#{deploy_to}"
      end

    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
porter-1.1.0 lib/porter/capistrano.rb