Initial Oracle Deep Data Security lab kit
This commit is contained in:
34
scripts/run-scenario.ps1
Normal file
34
scripts/run-scenario.ps1
Normal file
@@ -0,0 +1,34 @@
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$Scenario,
|
||||
|
||||
[string]$ConnectString,
|
||||
|
||||
[string]$SqlClient = "sql"
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$repoRoot = Split-Path -Parent $PSScriptRoot
|
||||
$scenarioDir = Join-Path $repoRoot "scenarios/$Scenario"
|
||||
$sqlDir = Join-Path $scenarioDir "sql"
|
||||
|
||||
if (-not (Test-Path $sqlDir)) {
|
||||
throw "Scenario SQL directory not found: $sqlDir"
|
||||
}
|
||||
|
||||
$scripts = Get-ChildItem -Path $sqlDir -Filter "*.sql" | Where-Object { $_.Name -ne "99_reset.sql" } | Sort-Object Name
|
||||
|
||||
Write-Host "Scenario: $Scenario"
|
||||
Write-Host "Scripts to execute:"
|
||||
$scripts | ForEach-Object { Write-Host " - $($_.Name)" }
|
||||
|
||||
if ([string]::IsNullOrWhiteSpace($ConnectString)) {
|
||||
Write-Warning "ConnectString not provided. Review the SQL files above and execute them manually with SQLcl or SQL*Plus."
|
||||
exit 0
|
||||
}
|
||||
|
||||
foreach ($script in $scripts) {
|
||||
Write-Host "Running $($script.FullName)"
|
||||
& $SqlClient $ConnectString "@$($script.FullName)"
|
||||
}
|
||||
Reference in New Issue
Block a user