Skip to content

Commit 463502a

Browse files
authored
Merge pull request #76 from sqlcollaborative/development
Fixing variable replacement
2 parents fc216fb + 0e29cac commit 463502a

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

functions/Invoke-DBODeployment.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@
134134
$scriptDeploymentPath = $script.GetDeploymentPath()
135135
Write-PSFMessage -Level Debug -Message "Adding deployment script $scriptDeploymentPath"
136136
# Replace tokens in the scripts
137-
$scriptContent = Resolve-VariableToken $script.GetContent() $runtimeVariables
137+
$scriptContent = Resolve-VariableToken $script.GetContent() $config.Variables
138138
$scriptCollection += [DbUp.Engine.SqlScript]::new($scriptDeploymentPath, $scriptContent)
139139
}
140140
}
@@ -148,7 +148,7 @@
148148
Write-PSFMessage -Level Debug -Message "Adding deployment script $($scriptItem.FullName) as $($scriptItem.PackagePath)"
149149
if (!$RegisterOnly) {
150150
# Replace tokens in the scripts
151-
$scriptContent = Resolve-VariableToken $scriptItem.GetContent() $runtimeVariables
151+
$scriptContent = Resolve-VariableToken $scriptItem.GetContent() $config.Variables
152152
}
153153
else {
154154
$scriptContent = ""

tests/Install-DBOSqlScript.Tests.ps1

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,22 @@ Describe "Install-DBOSqlScript integration tests" -Tag $commandName, Integration
264264
$output | Should BeLike '*Successful!*'
265265
}
266266
}
267+
Context "testing variable replacement" {
268+
BeforeAll {
269+
$file = "$workFolder\delay.sql"
270+
"SELECT '#{var1}'; PRINT ('#{var2}')" | Out-File $file
271+
}
272+
It "should return replaced variables" {
273+
$vars = @{
274+
var1 = 1337
275+
var2 = 'Replaced!'
276+
}
277+
$testResults = Install-DBOSqlScript -ScriptPath "$workFolder\delay.sql" -SqlInstance $script:mssqlInstance -Credential $script:mssqlCredential -Database $newDbName -SchemaVersionTable $null -OutputFile "$workFolder\log.txt" -Silent -Variables $vars
278+
$testResults.Successful | Should Be $true
279+
"$workFolder\log.txt" | Should -FileContentMatch '1337'
280+
"$workFolder\log.txt" | Should -FileContentMatch 'Replaced!'
281+
}
282+
}
267283
Context "$commandName whatif tests" {
268284
BeforeAll {
269285
$null = Invoke-DBOQuery -SqlInstance $script:mssqlInstance -Silent -Credential $script:mssqlCredential -Database $newDbName -InputFile $cleanupScript

0 commit comments

Comments
 (0)