Files
inquiry_robot/deploy/_remote_import_inquiry_sql.ps1
T

28 lines
1.4 KiB
PowerShell

# 在应用机把询价后台表导入 inquiry_robot(只动新库)
$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
}
$mysql = 'C:\yutongda\tools\mysql-8.0.39-winx64\bin\mysql.exe'
$hostName = if ($env:MYSQL_HOST) { $env:MYSQL_HOST } else { '127.0.0.1' }
# 本机有 mysqld 时优先连本机
$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 "import host=$hostName db=$env:MYSQL_DB"
foreach ($f in @(
'C:\Users\ytd_extdev_0903\incoming\inquiry_admin_v1.sql',
'C:\Users\ytd_extdev_0903\incoming\inquiry_admin_menu_seed_v1.sql'
)) {
Write-Host "import $f"
& $mysql -h $hostName -P 3306 -u $env:MYSQL_USER "--password=$env:MYSQL_PASSWORD" --default-character-set=utf8mb4 $env:MYSQL_DB -e "source $($f.Replace('\','/'))"
if ($LASTEXITCODE -ne 0) { throw "fail $f code=$LASTEXITCODE" }
}
Write-Host 'SQL_OK'
& $mysql -h $hostName -P 3306 -u $env:MYSQL_USER "--password=$env:MYSQL_PASSWORD" $env:MYSQL_DB -e "SHOW TABLES LIKE 'inq_%'; SELECT COUNT(*) AS tickets FROM inq_ticket;"