Public/TestHelpers/Test.DatabaseObjects.Functions.psm1
Set-StrictMode -Version Latest $ErrorActionPreference = "Stop"; #Requires -Version 5.0 function _loadDbaTools() { [string] $originalLocation = (Get-Location).Path Set-Location $PSScriptRoot $scriptRootParent = (Get-Item .).Parent.FullName Import-Module "$scriptRootParent\ModuleHelpers\Module.Functions.psm1" LoadModule -moduleNameOrPath 'dbatools' -installViaNuGet $true return $originalLocation } # INTENT: Ensure views were created accurately / kept up to date with schema changes function ValidateViews( [Parameter(mandatory=$true)] [string] $dbInstance, [Parameter(mandatory=$true)] [string] $dbName, [Parameter(mandatory=$true)] [string] $schema ) { [string] $originalLocation = _loadDbaTools $views = Get-DbaDbView -SqlInstance $dbInstance -Database $dbName $appViews = $views | Where-Object { $_.Schema -eq $schema } foreach ($view in $appViews) { try { $result = Invoke-DbaQuery ` -SqlInstance $dbInstance ` -Database $dbName ` -Query $("SELECT * FROM $dbName.$schema" + 'FakeView') ` -EnableException } catch { Write-Host $_ return 1 } } return 0 # INTENT: Avoid interfering with work directories in consuming scripts Set-Location $originalLocation } Export-ModuleMember -Function "*" |