Resolve "Flyway migrations"
This commit is contained in:
1 parent
fae59dd9bb
commit
41d6de7219
11 files changed
+132
-78
No files matched your search
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
COMMAND=${1:-info}
|
||||
ENV_FILE=".env"
|
||||
|
||||
if [[ ! -f "$ENV_FILE" ]]; then
|
||||
echo ".env file not found in the current directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Export variables from .env
|
||||
export $(grep -E '^[A-Za-z_][A-Za-z0-9_]*=' "$ENV_FILE" | xargs)
|
||||
|
||||
if [[ -z "$MYSQL_HOST" || -z "$MYSQL_PORT" || -z "$MYSQL_DATABASE" ]]; then
|
||||
echo "MYSQL_HOST, MYSQL_PORT, or MYSQL_DATABASE missing from .env"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export LOCALDEV_FLYWAY_URL="jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}"
|
||||
export FLYWAY_URL="$LOCALDEV_FLYWAY_URL"
|
||||
export FLYWAY_USER="$MYSQL_USER"
|
||||
export FLYWAY_PASSWORD="$MYSQL_PASSWORD"
|
||||
|
||||
echo "Ensuring database '$MYSQL_DATABASE' exists..."
|
||||
mysql -h"$MYSQL_HOST" -P"$MYSQL_PORT" -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" \
|
||||
-e "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
|
||||
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "Failed to create database or connect to MySQL. Check your credentials or server status."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
./mvnw flyway:"$COMMAND"
|
||||
Reference in new issue
Block a user