# Lobster June 2026 DB upgrade (master + tenant migrations) # Usage: # cd d:\ylrz_saas_new\java\scripts # .\run_lobster_june2026_db_upgrade.ps1 # .\run_lobster_june2026_db_upgrade.ps1 -TenantIds "32" # Optional env: DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME param( [string]$TenantIds = "" ) $ErrorActionPreference = "Stop" $scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path $javaRoot = Split-Path -Parent $scriptDir $mysqlJar = "$env:USERPROFILE\.m2\repository\com\mysql\mysql-connector-j\8.0.33\mysql-connector-j-8.0.33.jar" if (-not (Test-Path $mysqlJar)) { Write-Host "MySQL JDBC jar not found. Run: mvn -q dependency:get -Dartifact=mysql:mysql-connector-java:8.0.33" -ForegroundColor Red exit 1 } if ($TenantIds) { $env:TENANT_IDS = $TenantIds } Push-Location $scriptDir try { javac -encoding UTF-8 LobsterDbUpgradeRunner.java LobsterDbFixRunner.java if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } java -cp "$mysqlJar;." LobsterDbUpgradeRunner if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } Write-Host "`n--- Post-fix (menu IDs / image_recognition scene) ---" -ForegroundColor Cyan java -cp "$mysqlJar;." LobsterDbFixRunner if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } Write-Host "`n--- Encoding fix (garbled Chinese text / remarks) ---" -ForegroundColor Cyan javac -encoding UTF-8 DbRemarkEncodingFixAll.java LobsterDbEncodingFix.java if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } java -cp "$mysqlJar;." DbRemarkEncodingFixAll exit $LASTEXITCODE } finally { Pop-Location }