- 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.
35 lines
1.0 KiB
Bash
Executable File
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."
|