Files
inquiry_robot/deploy/_remote_slim_rbac_columns.ps1
T

33 lines
1.4 KiB
PowerShell

# Apply slim RBAC column migration on inquiry_robot.
$ErrorActionPreference = "Continue"
$mysql = "C:\yutongda\tools\mysql-8.0.39-winx64\bin\mysql.exe"
$sqlSrc = "C:\Users\ytd_extdev_0903\incoming\slim_rbac_columns.sql"
$sqlDst = "E:\wwwroot\ops\sql\slim_rbac_columns.sql"
Copy-Item $sqlSrc $sqlDst -Force
$envFile = "E:\wwwroot\.env"
$hostn = "10.206.0.15"; $user = "inquiry_robot"; $pass = $null; $db = "inquiry_robot"
Get-Content $envFile | ForEach-Object {
if ($_ -match '^MYSQL_HOST=(.+)$') { $hostn = $Matches[1].Trim() }
if ($_ -match '^MYSQL_USER=(.+)$') { $user = $Matches[1].Trim() }
if ($_ -match '^MYSQL_PASSWORD=(.+)$') { $pass = $Matches[1].Trim() }
if ($_ -match '^MYSQL_DB=(.+)$') { $db = $Matches[1].Trim() }
}
if ($db -ne "inquiry_robot") { throw "refuse" }
Write-Output "applying slim_rbac_columns.sql ..."
& $mysql -h $hostn -P 3306 -u $user "-p$pass" $db -e "source $($sqlDst -replace '\\','/')" 2>&1 |
Where-Object { $_ -notmatch "Warning|password" }
foreach ($t in @('sys_user','sys_role','sys_user_role','sys_permission','sys_role_permission')) {
Write-Output ("==== " + $t + " ====")
$q = "SHOW COLUMNS FROM " + $t
& $mysql -h $hostn -P 3306 -u $user "-p$pass" --batch -N $db -e $q 2>&1 |
ForEach-Object {
if ($_ -match "Warning") { return }
$p = ("$_") -split "`t"
if ($p.Count -ge 2) { $p[0] + " | " + $p[1] }
}
}
Write-Output "SLIM_OK"