church-api/image_path_removed.fish
Benjamin Slingo 0c06e159bb Initial commit: Church API Rust implementation
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.
2025-08-19 20:56:41 -04:00

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"