diff --git a/sql/bin/db-init b/sql/bin/db-init --- a/sql/bin/db-init +++ b/sql/bin/db-init @@ -18,31 +18,30 @@ DB_LOCALE="C.UTF-8" DB_TEMPLATE="template0" +cd "$( dirname $0 )/.." + if ! [ -f "$SQL_INIT" ] ; then echo "Cannot find $SQL_INIT. Abort." - echo "Note: db-init should usually be run from swh-storage/sql as bin/db-init." exit 2 fi -if [ -z "$1" -o -z "$2" -o -z "$3" ] ; then - echo "Usage: bin/db-init DB_PORT DB_NAME DB_USER" - echo "Example: bin/db-init 5432 softwareheritage-dev swhdev" - echo "Note: DB_NAME should not exist and will be created; DB_USER can exist." +if [ -z "$1" ] ; then + echo "Usage: bin/db-init DB_NAME [DB_PORT]" + echo "Example: bin/db-init softwareheritage-dev" + echo "Note: DB_NAME should not exist and will be created" exit 2 fi -db_port="$1" -db_name="$2" -db_user="$3" -conn_flags="--port ${db_port}" +db_name="$1" -echo "I: creating Postgres user ${db_user} ..." -createuser $conn_flags --pwprompt "$db_user" || true +conn_flags="" +if [ -n "$2" ]; then + conn_flags="--port $2" +fi echo "I: creating Postgres database ${db_name} ..." createdb $conn_flags \ --encoding "$DB_ENCODING" --locale "$DB_LOCALE" \ - --template "$DB_TEMPLATE" \ - --owner "$db_user" "$db_name" + --template "$DB_TEMPLATE" "$db_name" sqls_flags='' for f in $SQLS ; do @@ -52,10 +51,4 @@ echo "I: initializing DB ${db_name} ..." psql $conn_flags ${sqls_flags} "$db_name" -echo "I: granting privileges to user ${db_user} on DB ${db_name} ..." -echo "grant all privileges on all tables in schema public to ${db_user}" | \ - psql $conn_flags "$db_name" -echo "grant all privileges on all sequences in schema public to ${db_user}" | \ - psql $conn_flags "$db_name" - echo "I: all done."