Files
docker-lemp/bin/importdb
Brad Cimbura 1294e672fb Enhance database management scripts and update configurations
- Added importdb and importinv scripts for database import functionality.
- Improved dumpdb script for better error handling and output management.
- Updated .gitignore to include CSV files.
- Changed phpfpm service to use bash instead of ash.
- Modified docker-compose.yml to expose Redis and adjust Nginx port.
- Updated OpenSSL configuration for improved security settings.
2026-02-05 15:51:03 -06:00

35 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
export $(grep -v '^#' "$PROJECT_DIR/.env.db" | xargs)
cd "$PROJECT_DIR"
if [[ $# -lt 1 ]]; then
echo "Usage: bin/importdb <file.sql|file.sql.gz>" >&2
exit 1
fi
SQL_FILE="$1"
if [[ ! -f "$SQL_FILE" ]]; then
echo "Error: File not found: $SQL_FILE" >&2
exit 1
fi
echo "Dropping and recreating database '${MARIADB_DATABASE}'..."
docker compose exec -T db mariadb -u root -p"${MARIADB_ROOT_PASSWORD}" \
--execute "DROP DATABASE IF EXISTS \`${MARIADB_DATABASE}\`; CREATE DATABASE \`${MARIADB_DATABASE}\`;"
echo "Importing ${SQL_FILE} into '${MARIADB_DATABASE}'..."
if [[ "$SQL_FILE" == *.sql.gz ]]; then
gunzip -c "$SQL_FILE" | docker compose exec -T db mariadb -u root -p"${MARIADB_ROOT_PASSWORD}" "${MARIADB_DATABASE}"
else
docker compose exec -T db mariadb -u root -p"${MARIADB_ROOT_PASSWORD}" "${MARIADB_DATABASE}" < "$SQL_FILE"
fi
echo "Done: Database '${MARIADB_DATABASE}' imported successfully."