57 lines
1.8 KiB
Bash
Executable File
57 lines
1.8 KiB
Bash
Executable File
#!/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"
|