🔨 Standardize database commands

This commit is contained in:
Manuel Cillero 2024-04-03 15:14:57 +02:00
parent 87c944301d
commit 7fd262eaa0
2 changed files with 20 additions and 12 deletions

View file

@ -83,24 +83,32 @@ else
# Execute commands for MySQL or PostgreSQL # Execute commands for MySQL or PostgreSQL
if [ "$DB_SYSTEM" == "mysql" ]; then if [ "$DB_SYSTEM" == "mysql" ]; then
mysql -u "$DB_ROOT_USER" -p"$DB_ROOT_PASS" -h "$DB_HOST" <<EOF MYSQL_PWD="$DB_ROOT_PASS" mysql -u "$DB_ROOT_USER" -h "$DB_HOST" <<EOF
CREATE DATABASE IF NOT EXISTS $DB_NAME; CREATE DATABASE IF NOT EXISTS $DB_NAME;
CREATE USER IF NOT EXISTS '$DB_USER'@'$DB_HOST' IDENTIFIED BY '$DB_PASS'; CREATE USER IF NOT EXISTS '$DB_USER'@'$DB_HOST' IDENTIFIED BY '$DB_PASS';
GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'$DB_HOST'; GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'$DB_HOST';
FLUSH PRIVILEGES; FLUSH PRIVILEGES;
EOF EOF
elif [ "$DB_SYSTEM" == "postgresql" ]; then elif [ "$DB_SYSTEM" == "postgresql" ]; then
PGPASSWORD="$DB_ROOT_PASS" psql -U "$DB_ROOT_USER" -h "$DB_HOST" <<EOF PGPASSWORD="$DB_ROOT_PASS" psql -U "$DB_ROOT_USER" -h "$DB_HOST" <<EOF
CREATE DATABASE $DB_NAME; CREATE DATABASE IF NOT EXISTS $DB_NAME;
CREATE USER $DB_USER WITH ENCRYPTED PASSWORD '$DB_PASS'; DO \$\$
GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER; BEGIN
IF NOT EXISTS (
SELECT FROM pg_catalog.pg_user
WHERE usename = '$DB_USER') THEN
CREATE USER $DB_USER WITH ENCRYPTED PASSWORD '$DB_PASS';
END IF;
END
\$\$;
GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;
EOF EOF
fi fi
EXIT_CODE=$? EXIT_CODE=$?
fi fi
if [ $EXIT_CODE -eq 0 ]; then if [ $EXIT_CODE -eq 0 ]; then
echo "Operation completed successfully." echo "Operation completed."
else else
echo "An error occurred. Exit code: $EXIT_CODE" echo "An error occurred. Exit code: $EXIT_CODE"
fi fi

View file

@ -75,12 +75,12 @@ else
# Execute commands for MySQL or PostgreSQL # Execute commands for MySQL or PostgreSQL
if [ "$DB_SYSTEM" == "mysql" ]; then if [ "$DB_SYSTEM" == "mysql" ]; then
mysql -u "$DB_ROOT_USER" -p"$DB_ROOT_PASS" -h "$DB_HOST" <<EOF MYSQL_PWD="$DB_ROOT_PASS" mysql -u "$DB_ROOT_USER" -h "$DB_HOST" <<EOF
DROP DATABASE IF EXISTS $DB_NAME; DROP DATABASE $DB_NAME;
EOF EOF
elif [ "$DB_SYSTEM" == "postgresql" ]; then elif [ "$DB_SYSTEM" == "postgresql" ]; then
PGPASSWORD="$DB_ROOT_PASS" psql -U "$DB_ROOT_USER" -h "$DB_HOST" <<EOF PGPASSWORD="$DB_ROOT_PASS" psql -U "$DB_ROOT_USER" -h "$DB_HOST" <<EOF
DROP DATABASE IF EXISTS $DB_NAME; DROP DATABASE $DB_NAME;
EOF EOF
fi fi
EXIT_CODE=$? EXIT_CODE=$?