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.
This commit is contained in:
34
bin/importdb
Executable file
34
bin/importdb
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/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."
|
||||
Reference in New Issue
Block a user