Initial commit: Clean Mold Cost Calculator application
- Flask-based mold cost calculation application - PostgreSQL database with SQLAlchemy ORM - Docker/Podman containerization - Comprehensive documentation in docs/ - Clean, organized codebase without obsolete files - Production-ready deployment configuration - Enhanced pytest configuration with coverage reporting - Master/Development branch structure
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This script syncs the production database to the development (staging) database.
|
||||
# It should be run via a cron job on the server.
|
||||
# WARNING: This script completely overwrites the development database.
|
||||
|
||||
set -e
|
||||
|
||||
# --- Configuration ---
|
||||
PROD_DB_CONTAINER="mold_cost_db"
|
||||
DEV_DB_CONTAINER="mold_cost_db_development"
|
||||
PROD_DB_NAME="mold_cost"
|
||||
DEV_DB_NAME="mold_cost_development"
|
||||
BACKUP_FILE="/tmp/prod_db_dump.sql"
|
||||
LOG_FILE="/home/jimmyg/mold_cost_online_tool/logs/db_sync.log"
|
||||
|
||||
# --- Main Logic ---
|
||||
echo "---" >> "$LOG_FILE"
|
||||
echo "[$(date)] Starting database sync from Production to Development..." >> "$LOG_FILE"
|
||||
|
||||
# 1. Dump the production database
|
||||
echo "Dumping production database ('$PROD_DB_NAME') from container '$PROD_DB_CONTAINER'..." >> "$LOG_FILE"
|
||||
podman exec "$PROD_DB_CONTAINER" pg_dump -U postgres -d "$PROD_DB_NAME" -c -C > "$BACKUP_FILE"
|
||||
echo "Production database dump complete." >> "$LOG_FILE"
|
||||
|
||||
# 2. Restore the dump to the development database
|
||||
echo "Restoring dump to development database ('$DEV_DB_NAME') in container '$DEV_DB_CONTAINER'..." >> "$LOG_FILE"
|
||||
# We connect to the default 'postgres' db to drop/recreate the development db
|
||||
cat "$BACKUP_FILE" | podman exec -i "$DEV_DB_CONTAINER" psql -U postgres -d postgres
|
||||
echo "Development database restore complete." >> "$LOG_FILE"
|
||||
|
||||
# 3. Clean up the backup file
|
||||
rm "$BACKUP_FILE"
|
||||
echo "Backup file cleaned up." >> "$LOG_FILE"
|
||||
|
||||
echo "[$(date)] Database sync finished successfully." >> "$LOG_FILE"
|
||||
Reference in New Issue
Block a user