# 远端:给 inquiry_robot.inq_ticket 补 quote_date。禁止动 jeecg-boot。 # 口令只从 E:\wwwroot\.env 读,不写进仓库、不回显。 $ErrorActionPreference = 'Stop' Get-Content 'E:\wwwroot\.env' | ForEach-Object { $line = $_.Trim() if (-not $line -or $line.StartsWith('#')) { return } $i = $line.IndexOf('=') if ($i -lt 1) { return } $k = $line.Substring(0, $i).Trim() $v = $line.Substring($i + 1).Trim().Trim('"') Set-Item -Path "Env:$k" -Value $v } if (-not $env:MYSQL_DB) { throw 'MYSQL_DB missing' } if ($env:MYSQL_DB -ne 'inquiry_robot') { throw ("refuse db=" + $env:MYSQL_DB) } $mysql = 'C:\yutongda\tools\mysql-8.0.39-winx64\bin\mysql.exe' if (-not (Test-Path $mysql)) { throw "missing $mysql" } $hostName = if ($env:MYSQL_HOST) { $env:MYSQL_HOST } else { '10.206.0.14' } $tcp = New-Object System.Net.Sockets.TcpClient try { $null = $tcp.ConnectAsync('127.0.0.1', 3306).Wait(1000) if ($tcp.Connected) { $hostName = '127.0.0.1' } } catch { } finally { $tcp.Close() } Write-Host "alter host=$hostName db=$env:MYSQL_DB" $sqlFile = 'C:\Users\ytd_extdev_0903\incoming\inquiry_ticket_quote_date_v1.sql' if (-not (Test-Path $sqlFile)) { throw "missing $sqlFile" } & $mysql -h $hostName -P 3306 -u $env:MYSQL_USER "--password=$env:MYSQL_PASSWORD" --default-character-set=utf8mb4 $env:MYSQL_DB -e "source $($sqlFile.Replace('\','/'))" if ($LASTEXITCODE -ne 0) { throw "fail sql code=$LASTEXITCODE" } Write-Host 'SQL_OK' & $mysql -h $hostName -P 3306 -u $env:MYSQL_USER "--password=$env:MYSQL_PASSWORD" --default-character-set=utf8mb4 $env:MYSQL_DB -e "SHOW COLUMNS FROM inq_ticket LIKE 'quote_date'\G" if ($LASTEXITCODE -ne 0) { throw "fail verify code=$LASTEXITCODE" } Write-Host 'VERIFY_DONE'