public/jobs/Set-JobLogDatabase.ps1


Function Set-JobLogDatabase {
    [cmdletbinding()]
    param(
    )

    Process {

        <#
        # Build Connection string
        $connString = "DataSource=$( $absolutePath )"
 
        # Add connection to duckdb
        Add-DuckDBConnection -Name "JobLog" -ConnectionString $connString
 
        # Open the connection
        Open-DuckDBConnection -Name "JobLog"
        #>


        $connectDatabase = $true
        try {
            $c = Get-SqlConnection -ConnectionName "JobLog" -ErrorAction SilentlyContinue
            If ( $c.State -eq "Open" ) {
                $connectDatabase = $false
            }
        } catch {
            # Still connect here
        }

        If ( $connectDatabase -eq $true ) {

            # Resolve path first
            $absolutePath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($script:settings.joblogDB)

            # Open the connection
            Open-SQLiteConnection -ConnectionName "JobLog" -DataSource $absolutePath

            # Create the database, if not exists
            $joblogCreateStatementPath = Join-Path -Path $Script:moduleRoot -ChildPath "sql/joblog_create.sql"
            $joblogCreateStatement = Get-Content -Path $joblogCreateStatementPath -Encoding UTF8 -Raw
            #Invoke-DuckDBQueryAsNonExecute -Query $joblogCreateStatement -ConnectionName "JobLog"

            $u = Invoke-SqlUpdate -ConnectionName "JobLog" -Query $joblogCreateStatement

        }

    }

}