Sha256: 6c0bbb1a50d0e9322074a2ded4f3b10626293c8e2e574f74cd827bbb806e2915

Contents?: true

Size: 1.55 KB

Versions: 6

Compression:

Stored size: 1.55 KB

Contents

namespace :postgresql do
  task :symlink do
    sudo "ln -sf #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml"
  end

  desc "Start PostgreSQL"
  task :start, :roles => :db do
    send(run_method, "/etc/init.d/postgresql start")
  end

  desc "Stop PostgreSQL"
  task :stop, :roles => :db do
    send(run_method, "/etc/init.d/postgresql stop")
  end

  desc "Restart PostgreSQL"
  task :restart, :roles => :db do
    send(run_method, "/etc/init.d/postgresql restart")
  end

  desc "Reload PostgreSQL"
  task :reload, :roles => :db do
    send(run_method, "/etc/init.d/postgresql reload")
  end
end

namespace :db do
  desc "Download production database to local machine"
  task :pull do
    prompt_with_default("Database", :dbname, "#{application}_#{default_stage}")
    prompt_with_default("Database user", :username, "postgres")
    prompt_with_default("Local role", :local_role, "postgres")
    prompt_with_default("Overwrite local db? (y/n)", :overwrite, "y")
    host = find_servers(:roles => :db).map(&:to_s).first
    run "pg_dump -U #{username} #{dbname} > /tmp/dump.sql", :hosts => host
    get "/tmp/dump.sql", "tmp/dump.sql", :via => :scp, :hosts => host do |channel, name, received, total|
      print "\r#{name}: #{(Float(received)/total*100).to_i}% complete"
    end
    run "rm -rf /tmp/dump.sql", :hosts => host
    `sed -i s/stockit/#{local_role}/g tmp/dump.sql`
    # Import data.
    if overwrite.to_s.downcase[0,1] == "y"
      `psql -d stockit_development < tmp/dump.sql`
    end
  end
end


after "deploy:update_code", "postgresql:symlink"

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
crossroads_capistrano-1.4.0 lib/crossroads_capistrano/recipes/postgresql.rb
crossroads_capistrano-1.3.61 lib/crossroads_capistrano/recipes/postgresql.rb
crossroads_capistrano-1.3.60 lib/crossroads_capistrano/recipes/postgresql.rb
crossroads_capistrano-1.3.4 lib/crossroads_capistrano/recipes/postgresql.rb
crossroads_capistrano-1.3.3 lib/crossroads_capistrano/recipes/postgresql.rb
crossroads_capistrano-1.3.2 lib/crossroads_capistrano/recipes/postgresql.rb