35 lines
1.7 KiB
PowerShell
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'
|