# 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"