
Complete church management system with bulletin management, media processing, live streaming integration, and web interface. Includes authentication, email notifications, database migrations, and comprehensive test suite.
51 lines
2.1 KiB
Fish
Executable file
51 lines
2.1 KiB
Fish
Executable file
#!/usr/bin/env fish
|
|
|
|
echo "🔧 Consolidating image fields..."
|
|
|
|
# Function to run SQL commands
|
|
function run_sql
|
|
sudo -u postgres psql -d church_db -c "$argv[1]"
|
|
end
|
|
|
|
# SAFETY: Create backups first
|
|
echo "🛡️ Creating backups..."
|
|
run_sql "CREATE TABLE pending_events_backup AS SELECT * FROM pending_events;"
|
|
run_sql "CREATE TABLE events_backup AS SELECT * FROM events;"
|
|
|
|
echo "📊 Checking current data before migration..."
|
|
run_sql "SELECT COUNT(*) as total_pending FROM pending_events;"
|
|
run_sql "SELECT COUNT(*) as total_events FROM events;"
|
|
|
|
echo "🔍 Showing sample data structure..."
|
|
run_sql "SELECT id, image, image_path FROM pending_events LIMIT 3;"
|
|
run_sql "SELECT id, image, image_path FROM events LIMIT 3;"
|
|
|
|
echo "📋 Records that will be affected by consolidation..."
|
|
run_sql "SELECT COUNT(*) as pending_needs_copy FROM pending_events WHERE image IS NULL AND image_path IS NOT NULL;"
|
|
run_sql "SELECT COUNT(*) as events_needs_copy FROM events WHERE image IS NULL AND image_path IS NOT NULL;"
|
|
|
|
echo "⚠️ SAFETY CHECK: Review the above data. Press ENTER to continue or Ctrl+C to abort..."
|
|
read
|
|
|
|
echo "📝 Copying image_path data to image column..."
|
|
run_sql "UPDATE pending_events SET image = image_path WHERE image IS NULL AND image_path IS NOT NULL;"
|
|
run_sql "UPDATE events SET image = image_path WHERE image IS NULL AND image_path IS NOT NULL;"
|
|
|
|
echo "✅ Verifying consolidation..."
|
|
run_sql "SELECT COUNT(*) as pending_with_image FROM pending_events WHERE image IS NOT NULL;"
|
|
run_sql "SELECT COUNT(*) as events_with_image FROM events WHERE image IS NOT NULL;"
|
|
|
|
echo "🔍 Sample data after consolidation..."
|
|
run_sql "SELECT id, image, image_path FROM pending_events LIMIT 3;"
|
|
|
|
echo "⚠️ Ready to drop image_path columns. Press ENTER to continue or Ctrl+C to abort..."
|
|
read
|
|
|
|
echo "🗑️ Dropping image_path columns..."
|
|
run_sql "ALTER TABLE pending_events DROP COLUMN image_path;"
|
|
run_sql "ALTER TABLE events DROP COLUMN image_path;"
|
|
|
|
echo "🎉 Migration complete!"
|
|
echo "📋 Backup tables created: pending_events_backup, events_backup"
|
|
echo "💡 To rollback: DROP the current tables and rename backups back"
|