68 lines
1.8 KiB
Bash
68 lines
1.8 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# Database backup and commit script for UK Data Services
|
|||
|
|
# This script creates a database backup, adds it to git, and commits all changes
|
|||
|
|
|
|||
|
|
set -e # Exit on any error
|
|||
|
|
|
|||
|
|
# Configuration
|
|||
|
|
DB_CONTAINER="ukdataservices-db"
|
|||
|
|
DB_NAME="ukdataservices"
|
|||
|
|
DB_USER="root"
|
|||
|
|
DB_PASSWORD="Piglet1969!!"
|
|||
|
|
TIMESTAMP=$(date +"%d%m%y_%H%M%S")
|
|||
|
|
BACKUP_FILE="db_backup_${TIMESTAMP}.sql"
|
|||
|
|
|
|||
|
|
echo "🔄 Starting database backup and commit process..."
|
|||
|
|
|
|||
|
|
# Check if database container is running
|
|||
|
|
if ! docker ps | grep -q $DB_CONTAINER; then
|
|||
|
|
echo "❌ Error: Database container '$DB_CONTAINER' is not running"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "📦 Creating database backup: $BACKUP_FILE"
|
|||
|
|
|
|||
|
|
# Create database backup
|
|||
|
|
docker exec $DB_CONTAINER mysqldump -u$DB_USER -p$DB_PASSWORD --single-transaction --routines --triggers $DB_NAME > $BACKUP_FILE
|
|||
|
|
|
|||
|
|
if [ $? -eq 0 ]; then
|
|||
|
|
echo "✅ Database backup created successfully: $BACKUP_FILE"
|
|||
|
|
echo "📊 Backup file size: $(du -h $BACKUP_FILE | cut -f1)"
|
|||
|
|
else
|
|||
|
|
echo "❌ Error: Failed to create database backup"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# Add backup file to git
|
|||
|
|
echo "📝 Adding backup file to git repository..."
|
|||
|
|
git add $BACKUP_FILE
|
|||
|
|
|
|||
|
|
# Add all other changes to git
|
|||
|
|
echo "📝 Adding all changes to git repository..."
|
|||
|
|
git add .
|
|||
|
|
|
|||
|
|
# Check if there are any changes to commit
|
|||
|
|
if git diff --cached --quiet; then
|
|||
|
|
echo "ℹ️ No changes to commit"
|
|||
|
|
else
|
|||
|
|
# Create commit message with timestamp and backup info
|
|||
|
|
COMMIT_MSG="Database backup and updates - $(date '+%Y-%m-%d %H:%M:%S')
|
|||
|
|
|
|||
|
|
- Added database backup: $BACKUP_FILE
|
|||
|
|
- Committed all pending changes
|
|||
|
|
|
|||
|
|
🤖 Generated with Claude Code
|
|||
|
|
|
|||
|
|
Co-Authored-By: Claude <noreply@anthropic.com>"
|
|||
|
|
|
|||
|
|
echo "💾 Committing changes..."
|
|||
|
|
git commit -m "$COMMIT_MSG"
|
|||
|
|
|
|||
|
|
echo "✅ All changes committed successfully!"
|
|||
|
|
echo "📋 Commit details:"
|
|||
|
|
git log --oneline -1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "🎉 Backup and commit process completed!"
|