Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 27 additions & 12 deletions scrolls/postgresql.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,34 @@
gem "pg"

gsub_file "config/database.yml", /username: .*/, "username: #{config['pg_username']}"
gsub_file "config/database.yml", /password: .*/, "password: #{config['pg_password']}"

after_bundler do
require 'pg'

pg_username = nil
pg_password = nil

while pg_username.nil?
pg_username = ask_wizard "Local development PostgreSQL username:"
pg_password = ask_wizard "Local development PostgreSQL password:"

# attempt to connect to PostgreSQL using username and password
params = { :dbname => 'template1', :user => pg_username }
params[:password] = pg_password unless pg_password.blank?

begin
dbh = PG::Connection.new params
dbh.finish
rescue PG::Error => err
say_wizard err.to_s
pg_username = nil
pg_password = nil
end
end

gsub_file "config/database.yml", /username:\s?.*/, "username: #{pg_username}"
gsub_file "config/database.yml", /password:\s?.*/, "password: #{pg_password}"

rake "db:create:all"

rakefile("sample.rake") do
<<-RUBY
namespace :db do
Expand All @@ -31,11 +54,3 @@
run_before: [eycloud]

args: -d postgresql

config:
- pg_username:
type: string
prompt: "Local development PostgreSQL username:"
- pg_password:
type: string
prompt: "Local development PostgreSQL password:"