#!/bin/bash # Reset vehicle database tables before a fresh import. set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" echo "==========================================" echo "Vehicle Database Reset" echo "==========================================" echo "" # Check if postgres container is running if ! docker ps --filter "name=mvp-postgres" --format "{{.Names}}" | grep -q "mvp-postgres"; then echo "Error: mvp-postgres container is not running" exit 1 fi echo "Current data (before reset):" docker exec mvp-postgres psql -U postgres -d motovaultpro -c \ "SELECT (SELECT COUNT(*) FROM engines) as engines, (SELECT COUNT(*) FROM transmissions) as transmissions, (SELECT COUNT(*) FROM vehicle_options) as vehicle_options;" 2>/dev/null || echo " Tables may not exist yet" echo "" # Confirm reset read -p "Are you sure you want to reset all vehicle data? (y/N) " -n 1 -r echo "" if [[ ! $REPLY =~ ^[Yy]$ ]]; then echo "Reset cancelled." exit 0 fi echo "" echo "Truncating tables..." docker exec -i mvp-postgres psql -U postgres -d motovaultpro <<'EOF' TRUNCATE TABLE vehicle_options RESTART IDENTITY CASCADE; TRUNCATE TABLE engines RESTART IDENTITY CASCADE; TRUNCATE TABLE transmissions RESTART IDENTITY CASCADE; EOF echo "" echo "==========================================" echo "Reset complete" echo "==========================================" echo "" echo "Verification (should all be 0):" docker exec mvp-postgres psql -U postgres -d motovaultpro -c \ "SELECT (SELECT COUNT(*) FROM engines) as engines, (SELECT COUNT(*) FROM transmissions) as transmissions, (SELECT COUNT(*) FROM vehicle_options) as vehicle_options;" echo "" echo "Ready for fresh import with: ./import_data.sh"