#!/bin/bash # Import generated SQL files into PostgreSQL database # Run this after etl_generate_sql.py has created the SQL files set -e echo "==========================================" echo "๐Ÿ“ฅ Automotive Database Import" echo "==========================================" echo "" # Check if Docker 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 "โœ“ Docker container mvp-postgres is running" echo "" # Check if output directory exists if [ ! -d "output" ]; then echo "โŒ Error: output directory not found" echo "Please run etl_generate_sql.py first to generate SQL files" exit 1 fi # Run schema migration first echo "๐Ÿ“‹ Step 1: Running database schema migration..." docker exec -i mvp-postgres psql -U postgres -d motovaultpro < migrations/001_create_vehicle_database.sql echo "โœ“ Schema migration completed" echo "" # Truncate tables for a clean rerun echo "๐Ÿงน Step 2: Truncating existing data..." 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 "โœ“ Tables truncated" echo "" # Import engines echo "๐Ÿ“ฅ Step 3: Importing engines..." docker exec -i mvp-postgres psql -U postgres -d motovaultpro < output/01_engines.sql echo "โœ“ Engines imported" echo "" # Import transmissions echo "๐Ÿ“ฅ Step 4: Importing transmissions..." docker exec -i mvp-postgres psql -U postgres -d motovaultpro < output/02_transmissions.sql echo "โœ“ Transmissions imported" echo "" # Import vehicle options echo "๐Ÿ“ฅ Step 5: Importing vehicle options (this may take a minute)..." docker exec -i mvp-postgres psql -U postgres -d motovaultpro < output/03_vehicle_options.sql echo "โœ“ Vehicle options imported" echo "" # Verify data echo "==========================================" echo "โœ… Import completed successfully!" echo "==========================================" echo "" echo "๐Ÿ” Database verification:" docker exec mvp-postgres psql -U postgres -d motovaultpro -c "SELECT COUNT(*) as engine_count FROM engines;" docker exec mvp-postgres psql -U postgres -d motovaultpro -c "SELECT COUNT(*) as transmission_count FROM transmissions;" docker exec mvp-postgres psql -U postgres -d motovaultpro -c "SELECT COUNT(*) as vehicle_count FROM vehicle_options;" docker exec mvp-postgres psql -U postgres -d motovaultpro -c "SELECT MIN(year) as min_year, MAX(year) as max_year FROM vehicle_options;" echo "" docker exec mvp-postgres psql -U postgres -d motovaultpro -c "SELECT * FROM available_years;" echo "" echo "๐Ÿ“Š Sample query - 2024 makes:" docker exec mvp-postgres psql -U postgres -d motovaultpro -c "SELECT * FROM get_makes_for_year(2024) LIMIT 10;" echo "" echo "โœ“ Database is ready for use!"