From 23b30b7a2c135f1f16f52bf5ff35860e49444248 Mon Sep 17 00:00:00 2001 From: "Paul A. Jungwirth" Date: Fri, 20 Sep 2019 10:12:17 -0700 Subject: [PATCH 1/3] Parameterize postgres port --- Rakefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Rakefile b/Rakefile index 4bc9fd8..decb06e 100644 --- a/Rakefile +++ b/Rakefile @@ -22,16 +22,20 @@ task :setup do db_password = STDIN.gets.chomp print 'Enter your database server: [localhost] ' db_server = STDIN.gets.chomp + print 'Enter your database port: [5432] ' + db_port = STDIN.gets.chomp db_name = 'postgres_ext_test' if db_name.empty? db_password = ":#{db_password}" unless db_password.empty? db_server = 'localhost' if db_server.empty? db_server = "@#{db_server}" unless db_user.empty? + db_server = "#{db_server}:#{db_port}" env_path = File.expand_path('./.env') File.open(env_path, 'w') do |file| file.puts "DATABASE_NAME=#{db_name}" + file.puts "DATABASE_PORT=#{db_port}" file.puts "DATABASE_URL=\"postgres://#{db_user}#{db_password}#{db_server}/#{db_name}\"" end @@ -48,15 +52,15 @@ namespace :db do end task :psql => :load_db_settings do - exec "psql #{ENV['DATABASE_NAME']}" + exec "psql -p #{ENV['DATABASE_PORT']} #{ENV['DATABASE_NAME']}" end task :drop => :load_db_settings do - %x{ dropdb #{ENV['DATABASE_NAME']} } + %x{ dropdb -p #{ENV['DATABASE_PORT']} #{ENV['DATABASE_NAME']} } end task :create => :load_db_settings do - %x{ createdb #{ENV['DATABASE_NAME']} } + %x{ createdb -p #{ENV['DATABASE_PORT']} #{ENV['DATABASE_NAME']} } end task :migrate => :load_db_settings do From e784f5cb0389a011be32a7cd9621e5b085f54caa Mon Sep 17 00:00:00 2001 From: "Paul A. Jungwirth" Date: Fri, 20 Sep 2019 10:12:33 -0700 Subject: [PATCH 2/3] urlencode postgres password --- Rakefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index decb06e..466447b 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,4 @@ +require 'uri' require 'bundler/gem_tasks' require 'rake/testtask' @@ -26,7 +27,7 @@ task :setup do db_port = STDIN.gets.chomp db_name = 'postgres_ext_test' if db_name.empty? - db_password = ":#{db_password}" unless db_password.empty? + db_password = ":#{URI.escape(db_password)}" unless db_password.empty? db_server = 'localhost' if db_server.empty? db_server = "@#{db_server}" unless db_user.empty? From 09cfa6c78e7d40e55df31156f85d25504b4cc9a1 Mon Sep 17 00:00:00 2001 From: "Paul A. Jungwirth" Date: Fri, 20 Sep 2019 10:13:33 -0700 Subject: [PATCH 3/3] Fix claimed default db name --- Rakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 466447b..afe945a 100644 --- a/Rakefile +++ b/Rakefile @@ -15,7 +15,7 @@ task :setup do if File.exist?('.env') puts 'This will overwrite your existing .env file' end - print 'Enter your database name: [postgres_ext_serializers_test] ' + print 'Enter your database name: [postgres_ext_test] ' db_name = STDIN.gets.chomp print 'Enter your database user: [] ' db_user = STDIN.gets.chomp