Sha256: 243f199fd211c295bf8003fee814654d0b9bb4e0a46e2dccd49473232512bd12
Contents?: true
Size: 1.56 KB
Versions: 3
Compression:
Stored size: 1.56 KB
Contents
Capistrano::Configuration.instance(:must_exist).load do set_default(:postgresql_host, "localhost") set_default(:postgresql_user) { application } set_default(:postgresql_password) { Capistrano::CLI.password_prompt "PostgreSQL Password: " } set_default(:postgresql_database) { "#{application}_production" } namespace :postgresql do desc "Install the latest stable release of PostgreSQL." task :install, roles: :db, only: {primary: true} do run "#{sudo} add-apt-repository ppa:pitti/postgresql" run "#{sudo} apt-get -y update" run "#{sudo} apt-get -y install postgresql libpq-dev" end after "deploy:install", "postgresql:install" desc "Create a database for this application." task :create_database, roles: :db, only: {primary: true} do run %Q{#{sudo} -u postgres psql -c "create user #{postgresql_user} with password '#{postgresql_password}';"} run %Q{#{sudo} -u postgres psql -c "create database #{postgresql_database} owner #{postgresql_user};"} end after "deploy:setup", "postgresql:create_database" desc "Generate the database.yml configuration file." task :setup, roles: :app do run "mkdir -p #{shared_path}/config" template "postgresql.yml.erb", "#{shared_path}/config/database.yml" end after "deploy:setup", "postgresql:setup" desc "Symlink the database.yml file into latest release" task :symlink, roles: :app do run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml" end after "deploy:finalize_update", "postgresql:symlink" end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cap_bootstrap-0.3.0 | lib/cap_bootstrap/recipes/postgresql.rb |
cap_bootstrap-0.2 | lib/cap_bootstrap/recipes/postgresql.rb |
cap_bootstrap-0.1 | lib/cap_bootstrap/recipes/postgresql.rb |