Added --down option to db.sh to stop database containers without deleting volumes.

This commit is contained in:
Jan 2026-01-30 14:20:35 +01:00
parent 8794a8a193
commit 9dca1e8abb

24
db.sh
View file

@ -7,12 +7,13 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR" cd "$SCRIPT_DIR"
usage() { usage() {
echo "Usage: $0 <mysql|mssql> [--clean] [--users]" echo "Usage: $0 <mysql|mssql> [--clean] [--users] [--down]"
echo "" echo ""
echo "Options:" echo "Options:"
echo " mysql|mssql Which database to start" echo " mysql|mssql Which database to start"
echo " --clean Delete volumes and start fresh" echo " --clean Delete volumes and start fresh"
echo " --users Only import test users (database must be running)" echo " --users Only import test users (database must be running)"
echo " --down Stop the database container"
exit 1 exit 1
} }
@ -20,6 +21,7 @@ usage() {
DB="" DB=""
CLEAN=false CLEAN=false
USERS_ONLY=false USERS_ONLY=false
DOWN_ONLY=false
for arg in "$@"; do for arg in "$@"; do
case $arg in case $arg in
@ -32,6 +34,9 @@ for arg in "$@"; do
--users) --users)
USERS_ONLY=true USERS_ONLY=true
;; ;;
--down)
DOWN_ONLY=true
;;
*) *)
usage usage
;; ;;
@ -40,6 +45,19 @@ done
[ -z "$DB" ] && usage [ -z "$DB" ] && usage
# Stop container only
if [ "$DOWN_ONLY" = true ]; then
if [ "$DB" = "mysql" ]; then
echo "==> Stopping MySQL..."
podman-compose down 2>/dev/null || true
elif [ "$DB" = "mssql" ]; then
echo "==> Stopping MSSQL..."
podman-compose --profile mssql down 2>/dev/null || true
fi
echo "==> Done!"
exit 0
fi
# Import users only # Import users only
if [ "$USERS_ONLY" = true ]; then if [ "$USERS_ONLY" = true ]; then
if [ "$DB" = "mysql" ]; then if [ "$DB" = "mysql" ]; then
@ -49,14 +67,14 @@ if [ "$USERS_ONLY" = true ]; then
podman exec -i lcc-mysql-local mysql -u"${DB_USER}" -p"${DB_PASS}" lcc \ podman exec -i lcc-mysql-local mysql -u"${DB_USER}" -p"${DB_PASS}" lcc \
< src/test/resources/master_data/users.sql < src/test/resources/master_data/users.sql
echo "==> Users imported!" echo "==> Users imported!"
elif [ "$DB" = "mssql" ]; then elif [ "$DB" = "mssql" ]; then
echo "==> Importing users into MSSQL..." echo "==> Importing users into MSSQL..."
DB_PASS=$(grep DB_ROOT_PASSWORD .env.mssql | cut -d= -f2) DB_PASS=$(grep DB_ROOT_PASSWORD .env.mssql | cut -d= -f2)
podman exec -e "SQLCMDPASSWORD=${DB_PASS}" lcc-mssql-local /opt/mssql-tools18/bin/sqlcmd \ podman exec -e "SQLCMDPASSWORD=${DB_PASS}" lcc-mssql-local /opt/mssql-tools18/bin/sqlcmd \
-S localhost -U sa -d lcc -C \ -S localhost -U sa -d lcc -C \
-i /dev/stdin < src/test/resources/master_data/users_mssql.sql -i /dev/stdin < src/test/resources/master_data/users_mssql.sql
echo "==> Users imported!" echo "==> Users imported!"
fi fi
exit 0 exit 0
fi fi