You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by mi...@apache.org on 2017/01/19 15:22:07 UTC
[1/3] incubator-trafficcontrol git commit: createdb creates user if
doesn't exist; relies on user connected as db admin
Repository: incubator-trafficcontrol
Updated Branches:
refs/heads/master 03f565fa0 -> 6f8a062c7
createdb creates user if doesn't exist; relies on user connected as db admin
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/c104ceff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/c104ceff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/c104ceff
Branch: refs/heads/master
Commit: c104ceffcc209e8a6c0a745bf1b1c442202f92bd
Parents: 3d43215
Author: Dan Kirkwood <da...@gmail.com>
Authored: Wed Jan 18 15:32:06 2017 -0700
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Wed Jan 18 15:34:57 2017 -0700
----------------------------------------------------------------------
traffic_ops/app/db/admin.pl | 51 ++++++++++++++++++++++++++++++----------
1 file changed, 38 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/c104ceff/traffic_ops/app/db/admin.pl
----------------------------------------------------------------------
diff --git a/traffic_ops/app/db/admin.pl b/traffic_ops/app/db/admin.pl
index dd19b0f..d1cd85d 100755
--- a/traffic_ops/app/db/admin.pl
+++ b/traffic_ops/app/db/admin.pl
@@ -93,6 +93,7 @@ if ( defined($argument) ) {
seed();
}
elsif ( $argument eq 'setup' ) {
+ createuser();
dropdb();
createdb();
load_schema();
@@ -158,43 +159,67 @@ sub migrate {
my ($command) = @_;
print "Migrating database...\n";
- system( 'goose --env=' . $environment . ' ' . $command );
+ if ( system( "goose --env=$environment $command" ) != 0 ) {
+ die "Can't run goose\n";
+ }
}
sub seed {
print "Seeding database.\n";
- system("psql -h $host_ip -p $host_port -d $db_name -U $db_username -e < db/seeds.sql");
+ if ( system("psql -h $host_ip -p $host_port -d $db_name -U $db_username -e < db/seeds.sql") != 0 ) {
+ die "Can't seed database\n";
+ }
}
sub load_schema {
print "Creating database tables.\n";
- system("psql -h $host_ip -p $host_port -d $db_name -U $db_username -e < db/create_tables.sql");
+ if ( system("psql -h $host_ip -p $host_port -d $db_name -U $db_username -e < db/create_tables.sql") != 0 ) {
+ die "Can't create database tables\n";
+ }
}
sub dropdb {
- system("dropdb -h $host_ip -p $host_port -U $db_username -e --if-exists $db_name;");
+ if ( system("dropdb -h $host_ip -p $host_port -U $db_username -e --if-exists $db_name;") != 0 ) {
+ die "Can't drop db $db_name\n";
+ }
}
sub createdb {
- system("createdb -h $host_ip -p $host_port -U $db_username -e $db_name;");
+ createuser();
+ my $db_exists = `psql -tAc "SELECT 1 FROM pg_database WHERE datname='$db_name'"`;
+ if ( $db_exists ) {
+ print "Database $db_name already exists\n";
+ return;
+ }
+
+ if ( system("createdb -h $host_ip -p $host_port -U $db_username -e $db_name;") != 0 ) {
+ die "Can't create db $db_name\n";
+ }
}
sub createuser {
- my $user_exists = system("psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'" | grep -q 1 || createuser ...
-
- system("createuser -U traffic_ops -h $host_ip -p $host_port -P -e --superuser $db_username;");
- system("createdb -U traffic_ops -h $host_ip -p $host_port -U $db_username -e $db_name;");
- system("psql -U traffic_ops -h $host_ip -p $host_port -e -c 'GRANT ALL PRIVILEGES ON DATABASE $db_name TO $db_username;'");
- system("psql $db_name -U traffic_ops -h $host_ip -p $host_port -e -c 'GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO $db_username;'");
+ my $user_exists = `psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='$db_username'"`;
+ if ( $user_exists ) {
+ print "Role $db_username already exists\n";
+ return;
+ }
+ my $cmd = "CREATE USER $db_username WITH SUPERUSER CREATEROLE CREATEDB ENCRYPTED PASSWORD '$db_password'";
+ if ( system( qq{psql -h $host_ip -p $host_port -tAc "$cmd"} ) != 0 ) {
+ die "Can't create user $db_username\n";
+ }
}
sub dropuser {
- system("dropuser -U traffic_ops -h $host_ip -p $host_port -i -e $db_username;");
+ if ( system("dropuser -h $host_ip -p $host_port -i -e $db_username;") != 0 ) {
+ die "Can't drop user $db_username\n";
+ }
}
sub showusers {
- system("psql postgres -c '\\du';");
+ if ( system("psql postgres -ec '\\du';") != 0 ) {
+ die "Can't show users";
+ }
}
sub reverse_schema {
[3/3] incubator-trafficcontrol git commit: This closes #198
Posted by mi...@apache.org.
This closes #198
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/6f8a062c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/6f8a062c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/6f8a062c
Branch: refs/heads/master
Commit: 6f8a062c7294948ebf4a4d4dbfd223b3de62a629
Parents: c104cef
Author: Jeremy Mitchell <mi...@gmail.com>
Authored: Thu Jan 19 08:21:56 2017 -0700
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Thu Jan 19 08:21:56 2017 -0700
----------------------------------------------------------------------
----------------------------------------------------------------------
[2/3] incubator-trafficcontrol git commit: createuser creates db and
sets perms in psql
Posted by mi...@apache.org.
createuser creates db and sets perms in psql
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/3d432154
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/3d432154
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/3d432154
Branch: refs/heads/master
Commit: 3d432154dd1c47df9ca82e8555f28dc9b61b5c26
Parents: 03f565f
Author: Dan Kirkwood <da...@gmail.com>
Authored: Mon Jan 16 16:04:28 2017 -0700
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Wed Jan 18 15:34:57 2017 -0700
----------------------------------------------------------------------
traffic_ops/app/db/admin.pl | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3d432154/traffic_ops/app/db/admin.pl
----------------------------------------------------------------------
diff --git a/traffic_ops/app/db/admin.pl b/traffic_ops/app/db/admin.pl
index 324044e..dd19b0f 100755
--- a/traffic_ops/app/db/admin.pl
+++ b/traffic_ops/app/db/admin.pl
@@ -180,11 +180,17 @@ sub createdb {
}
sub createuser {
- system("createuser -h $host_ip -p $host_port -P -e --superuser $db_username;");
+ my $user_exists = system("psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'" | grep -q 1 || createuser ...
+
+ system("createuser -U traffic_ops -h $host_ip -p $host_port -P -e --superuser $db_username;");
+ system("createdb -U traffic_ops -h $host_ip -p $host_port -U $db_username -e $db_name;");
+ system("psql -U traffic_ops -h $host_ip -p $host_port -e -c 'GRANT ALL PRIVILEGES ON DATABASE $db_name TO $db_username;'");
+ system("psql $db_name -U traffic_ops -h $host_ip -p $host_port -e -c 'GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO $db_username;'");
+
}
sub dropuser {
- system("dropuser -h $host_ip -p $host_port -i -e $db_username;");
+ system("dropuser -U traffic_ops -h $host_ip -p $host_port -i -e $db_username;");
}
sub showusers {