Skip to content

Commit f437e97

Browse files
authored
Merge pull request #66 from sqlcollaborative/versions
Re-enabling connection pooling and allowing more recent lib versions for PS Core
2 parents eac3509 + 37ef6c5 commit f437e97

File tree

7 files changed

+116
-45
lines changed

7 files changed

+116
-45
lines changed

internal/functions/Get-ConnectionString.ps1

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ function Get-ConnectionString {
6969
if ($Configuration.ApplicationName -and $csBuilder.ContainsKey('Application Name')) { $csBuilder["Application Name"] = $Configuration.ApplicationName }
7070
if ($Configuration.ExecutionTimeout -and $csBuilder.ContainsKey('Command Timeout')) { $csBuilder["Command Timeout"] = $Configuration.ExecutionTimeout }
7171
$csBuilder[$conn.ConnectionTimeout] = $Configuration.ConnectionTimeout
72-
if ($csBuilder.ContainsKey('Pooling')) { $csBuilder.Pooling = $false }
7372
# define authentication
7473
if ($Configuration.Credential) {
7574
$csBuilder["User ID"] = $Configuration.Credential.UserName

internal/json/dbops.dependencies.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
},
1313
{
1414
"Name": "Oracle.ManagedDataAccess.Core",
15-
"Version": "2.12.0-beta2",
15+
"Version": "2.18.3",
1616
"Path": [
1717
"lib\\netstandard2.0\\Oracle.ManagedDataAccess.dll"
1818
],
@@ -35,7 +35,7 @@
3535
},
3636
{
3737
"Name": "MySql.Data",
38-
"Version": "6.10.6",
38+
"Version": "6.10.8",
3939
"Path": [
4040
"lib\\netstandard2.0\\MySql.Data.dll"
4141
],
@@ -67,7 +67,7 @@
6767
},
6868
{
6969
"Name": "Npgsql",
70-
"Version": "3.2.6",
70+
"Version": "4.0.4",
7171
"Path": [
7272
"lib\\netstandard2.0\\Npgsql.dll"
7373
],

tests/postgresql/Install-DBOPackage.Tests.ps1

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,18 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
8080
AfterAll {
8181
if ((Test-Path $workFolder) -and $workFolder -like '*.Tests.dbops') { Remove-Item $workFolder -Recurse }
8282
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
83+
[Npgsql.NpgsqlConnection]::ClearAllPools()
8384
}
8485
Context "testing transactional deployment" {
8586
BeforeAll {
8687
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
88+
[Npgsql.NpgsqlConnection]::ClearAllPools()
8789
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
8890
$null = New-DBOPackage -ScriptPath $tranFailScripts -Name $packageName -Build 1.0 -Force
8991
}
9092
AfterAll {
9193
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
94+
[Npgsql.NpgsqlConnection]::ClearAllPools()
9295
}
9396
It "Should throw an error and create no tables" {
9497
#Running package
@@ -105,11 +108,14 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
105108
}
106109
Context "testing non transactional deployment" {
107110
BeforeAll {
108-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
111+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
112+
[Npgsql.NpgsqlConnection]::ClearAllPools()
113+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
109114
$null = New-DBOPackage -ScriptPath $tranFailScripts -Name $packageName -Build 1.0 -Force
110115
}
111116
AfterAll {
112117
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
118+
[Npgsql.NpgsqlConnection]::ClearAllPools()
113119
}
114120
It "Should throw an error and create one object" {
115121
#Running package
@@ -125,7 +131,9 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
125131
}
126132
Context "testing regular deployment" {
127133
BeforeAll {
128-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
134+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
135+
[Npgsql.NpgsqlConnection]::ClearAllPools()
136+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
129137
$p1 = New-DBOPackage -ScriptPath $v1scripts -Name "$workFolder\pv1" -Build 1.0 -Force
130138
$p1 = Add-DBOBuild -ScriptPath $v2scripts -Name $p1 -Build 2.0
131139
#versions should not be sorted by default - creating a package where 1.0 is the second build
@@ -265,7 +273,9 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
265273
}
266274
Context "testing timeouts" {
267275
BeforeAll {
268-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
276+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
277+
[Npgsql.NpgsqlConnection]::ClearAllPools()
278+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
269279
$file = Join-PSFPath -Normalize "$workFolder\delay.sql"
270280
'SELECT pg_sleep(3); SELECT ''Successful!'';' | Set-Content $file
271281
$null = New-DBOPackage -ScriptPath $file -Name "$workFolder\delay" -Build 1.0 -Force -Configuration @{ ExecutionTimeout = 2 }
@@ -322,11 +332,14 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
322332
}
323333
Context "$commandName whatif tests" {
324334
BeforeAll {
325-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
335+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
336+
[Npgsql.NpgsqlConnection]::ClearAllPools()
337+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
326338
$null = New-DBOPackage -ScriptPath $v1scripts -Name $packageNamev1 -Build 1.0
327339
}
328340
AfterAll {
329341
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
342+
[Npgsql.NpgsqlConnection]::ClearAllPools()
330343
}
331344
It "should deploy nothing" {
332345
$testResults = Install-DBOPackage $packageNamev1 @connParams -Database $newDbName -SchemaVersionTable $logTable -WhatIf
@@ -356,6 +369,7 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
356369
Context "testing regular deployment with CreateDatabase specified" {
357370
BeforeAll {
358371
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
372+
[Npgsql.NpgsqlConnection]::ClearAllPools()
359373
$p1 = New-DBOPackage -ScriptPath $v1scripts -Name "$workFolder\pv1" -Build 1.0 -Force
360374
}
361375
It "should deploy version 1.0 to a new database using -CreateDatabase switch" {
@@ -387,7 +401,9 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
387401
}
388402
Context "testing regular deployment with configuration overrides" {
389403
BeforeAll {
390-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
404+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
405+
[Npgsql.NpgsqlConnection]::ClearAllPools()
406+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
391407
$p1 = New-DBOPackage -ScriptPath $v1scripts -Name "$workFolder\pv1" -Build 1.0 -Force -ConfigurationFile $fullConfig
392408
$p2 = New-DBOPackage -ScriptPath $v2scripts -Name "$workFolder\pv2" -Build 2.0 -Force -Configuration @{
393409
SqlInstance = 'nonexistingServer'
@@ -470,7 +486,9 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
470486
}
471487
Context "testing deployment without specifying SchemaVersion table" {
472488
BeforeAll {
473-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
489+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
490+
[Npgsql.NpgsqlConnection]::ClearAllPools()
491+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
474492
$p1 = New-DBOPackage -ScriptPath $v1scripts -Name "$workFolder\pv1" -Build 1.0 -Force
475493
$p2 = New-DBOPackage -ScriptPath $v2scripts -Name "$workFolder\pv2" -Build 2.0 -Force
476494
$outputFile = "$workFolder\log.txt"
@@ -536,7 +554,9 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
536554
Context "testing deployment with no history`: SchemaVersion is null" {
537555
BeforeEach {
538556
$null = New-DBOPackage -ScriptPath $v1scripts -Name "$workFolder\pv1" -Build 1.0 -Force
539-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
557+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
558+
[Npgsql.NpgsqlConnection]::ClearAllPools()
559+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
540560
}
541561
AfterEach {
542562
$null = Invoke-DBOQuery @connParams -Database $newDbName -Query "DROP TABLE IF EXISTS SchemaVersions"
@@ -571,12 +591,15 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
571591
}
572592
Context "testing deployment with defined schema" {
573593
BeforeAll {
574-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
594+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
595+
[Npgsql.NpgsqlConnection]::ClearAllPools()
596+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
575597
$null = Invoke-DBOQuery @connParams -Database $newDbName -Query "CREATE SCHEMA testschema"
576598
$null = New-DBOPackage -ScriptPath $v1scripts -Name "$workFolder\pv1" -Build 1.0 -Force
577599
}
578600
AfterAll {
579601
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
602+
[Npgsql.NpgsqlConnection]::ClearAllPools()
580603
}
581604
It "should deploy version 1.0 into testschema" {
582605
$before = Invoke-DBOQuery @connParams -Database $newDbName -InputFile $verificationScript
@@ -610,7 +633,9 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
610633
BeforeAll {
611634
$p1 = New-DBOPackage -ScriptPath $v1scripts -Name "$workFolder\pv1" -Build 1.0 -Force -Configuration @{SqlInstance = '#{srv}'; Database = '#{db}'}
612635
$outputFile = "$workFolder\log.txt"
613-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
636+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
637+
[Npgsql.NpgsqlConnection]::ClearAllPools()
638+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
614639
}
615640
AfterAll {
616641
$null = Invoke-DBOQuery @connParams -Database $newDbName -Query "DROP TABLE IF EXISTS SchemaVersions"
@@ -648,7 +673,9 @@ Describe "Install-DBOPackage PostgreSQL tests" -Tag $commandName, IntegrationTes
648673
Context "testing deployment with custom connection string" {
649674
BeforeAll {
650675
$p1 = New-DBOPackage -ScriptPath $v1scripts -Name "$workFolder\pv1" -Build 1.0 -Force
651-
$null = Invoke-DBOQuery @connParams -Database postgres -Query ($dropDatabaseScript + $createDatabaseScript)
676+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $dropDatabaseScript
677+
[Npgsql.NpgsqlConnection]::ClearAllPools()
678+
$null = Invoke-DBOQuery @connParams -Database postgres -Query $createDatabaseScript
652679
}
653680
It "should deploy version 1.0" {
654681
$configCS = New-DBOConfig -Configuration @{

0 commit comments

Comments
 (0)