You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by da...@apache.org on 2017/04/14 20:23:27 UTC

[03/13] incubator-trafficcontrol git commit: added existence check on the create_user

added existence check on the create_user


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/3b53fbfb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/3b53fbfb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/3b53fbfb

Branch: refs/heads/master
Commit: 3b53fbfb18f0a6557e7f93aeaeedf0905bcea40d
Parents: ce92d6f
Author: Dewayne Richardson <de...@apache.org>
Authored: Thu Apr 13 13:52:23 2017 -0600
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Fri Apr 14 14:22:51 2017 -0600

----------------------------------------------------------------------
 traffic_ops/app/db/admin.pl | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3b53fbfb/traffic_ops/app/db/admin.pl
----------------------------------------------------------------------
diff --git a/traffic_ops/app/db/admin.pl b/traffic_ops/app/db/admin.pl
index 4788a2a..c11fffb 100755
--- a/traffic_ops/app/db/admin.pl
+++ b/traffic_ops/app/db/admin.pl
@@ -202,7 +202,6 @@ sub dropdb {
 }
 
 sub createdb {
-	create_user();
 	my $db_exists = `psql -h $host_ip -U $db_user -p $host_port -tAc "SELECT 1 FROM pg_database WHERE datname='$db_name'"`;
 	if ($db_exists) {
 		print "Database $db_name already exists\n";
@@ -216,11 +215,14 @@ sub createdb {
 }
 
 sub create_user {
-	my $user_exists = `psql -h $host_ip -p $host_port -U $db_user -tAc "SELECT 1 FROM pg_roles WHERE rolname='$db_user'"`;
+	print "Creating user: $db_user\n";
+	my $user_exists = `psql -h $host_ip -p $host_port -U $db_super_user -tAc "SELECT 1 FROM pg_roles WHERE rolname='$db_user'"`;
 
-	my $cmd = "CREATE USER $db_user WITH LOGIN ENCRYPTED PASSWORD '$db_password'";
-	if ( system(qq{psql -h $host_ip -p $host_port -U $db_super_user -tAc "$cmd"}) != 0 ) {
-		die "Can't create user $db_user\n";
+	if (!$user_exists) {
+		my $cmd = "CREATE USER $db_user WITH CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD '$db_password'";
+		if ( system(qq{psql -h $host_ip -p $host_port -U $db_super_user -tAc "$cmd"}) != 0 ) {
+			die "Can't create user $db_user\n";
+		}
 	}
 }