Fix production daabase creation
* The user should be externally configured.
This commit is contained in:
parent
b2197ff11c
commit
4091059e75
|
|
@ -1,2 +1 @@
|
|||
CREATE ROLE kompanion LOGIN PASSWORD 'komp';
|
||||
CREATE DATABASE kompanion OWNER kompanion;
|
||||
|
|
|
|||
|
|
@ -5,17 +5,18 @@ ROLE=${ROLE:-kompanion}
|
|||
PASS=${PASS:-komp}
|
||||
|
||||
psql -v ON_ERROR_STOP=1 <<SQL
|
||||
DO $$ BEGIN
|
||||
PERFORM 1 FROM pg_roles WHERE rolname = '$ROLE';
|
||||
IF NOT FOUND THEN EXECUTE format('CREATE ROLE %I LOGIN PASSWORD %L', '$ROLE', '$PASS'); END IF;
|
||||
END $$;
|
||||
DO $$ BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM pg_database WHERE datname = '$DB_NAME') THEN
|
||||
EXECUTE format('CREATE DATABASE %I OWNER %I', '$DB_NAME', '$ROLE');
|
||||
END IF;
|
||||
END $$;
|
||||
DROP DATABASE IF EXISTS "$DB_NAME";
|
||||
CREATE DATABASE "$DB_NAME" OWNER "$ROLE";
|
||||
SQL
|
||||
|
||||
for f in "$(dirname "$0")"/../init/*.sql; do
|
||||
if [[ "$f" == *"001_roles.sql"* ]]; then
|
||||
continue
|
||||
fi
|
||||
echo "Applying $f"
|
||||
psql -d "$DB_NAME" -f "$f"
|
||||
done
|
||||
|
||||
for f in `dirname($0)`/*.sql; do
|
||||
echo "Applying $f"
|
||||
psql -d "$DB_NAME" -f "$f"
|
||||
|
|
|
|||
Loading…
Reference in New Issue