Files
inquiry_robot/deploy/_remote_add_ticket_quote_date.ps1
T

35 lines
1.7 KiB
PowerShell

# 远端:给 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'