# PetWash API Deployment Check Script Write-Host "======================================" Write-Host "PetWash API Deployment Check" Write-Host "======================================" Write-Host "" # Check Docker Write-Host "Checking Docker..." docker --version if ($LASTEXITCODE -eq 0) { Write-Host "[OK] Docker is installed" -ForegroundColor Green } else { Write-Host "[FAIL] Docker is not installed" -ForegroundColor Red } # Check Docker Compose Write-Host "" Write-Host "Checking Docker Compose..." docker-compose --version if ($LASTEXITCODE -eq 0) { Write-Host "[OK] Docker Compose is installed" -ForegroundColor Green } else { Write-Host "[FAIL] Docker Compose is not installed" -ForegroundColor Red } # Check files Write-Host "" Write-Host "Checking configuration files..." $files = @( "PetWash.Api/Dockerfile", "docker-compose.yml", "PetWash.Api/appsettings.json", "PetWash.Api/appsettings.Production.json", "init-database.sql" ) foreach ($f in $files) { if (Test-Path $f) { Write-Host "[OK] $f" -ForegroundColor Green } else { Write-Host "[FAIL] $f not found" -ForegroundColor Red } } # Check MySQL package Write-Host "" Write-Host "Checking MySQL package..." $content = Get-Content "PetWash.Api/PetWash.Api.csproj" -Raw if ($content -match "Pomelo.EntityFrameworkCore.MySql") { Write-Host "[OK] MySQL package is added" -ForegroundColor Green } else { Write-Host "[FAIL] MySQL package is missing" -ForegroundColor Red } # Check MySQL connection Write-Host "" Write-Host "Checking MySQL connection..." try { $tcp = New-Object System.Net.Sockets.TcpClient $tcp.Connect("101.132.182.216", 3306) $tcp.Close() Write-Host "[OK] MySQL server is accessible" -ForegroundColor Green } catch { Write-Host "[FAIL] Cannot connect to MySQL server" -ForegroundColor Red } # Check build Write-Host "" Write-Host "Checking project build..." Push-Location "PetWash.Api" dotnet build --no-restore > $null 2>&1 Pop-Location if ($LASTEXITCODE -eq 0) { Write-Host "[OK] Project builds successfully" -ForegroundColor Green } else { Write-Host "[FAIL] Project build failed" -ForegroundColor Red } Write-Host "" Write-Host "======================================" Write-Host "Check complete!" Write-Host "======================================"