55 lines
2.1 KiB
PowerShell
55 lines
2.1 KiB
PowerShell
|
function Invoke-DatabaseMigrationAlkamiTenantTask {
|
||
|
param (
|
||
|
$connectionString,
|
||
|
$hasTenant
|
||
|
)
|
||
|
Write-Warning "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||
|
Write-Warning "!! THIS FEATURE WILL BE DEPRECATED. PLEASE CONTACT SDK TEAM TO REMOVE !!"
|
||
|
Write-Warning "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||
|
|
||
|
$migrationPath = (Join-Path (Get-MigrationRunnerPath) "Alkami.Tools.TenantMigration.dll")
|
||
|
|
||
|
if ($hasTenant) {
|
||
|
if (!(Confirm-DatabaseAccess $connectionString)) {
|
||
|
throw "could not connect to $connectionString"
|
||
|
}
|
||
|
|
||
|
Write-Host "Migrating database for `[$connectionString`]"
|
||
|
Invoke-Migrate $connectionString "" $migrationPath "SetupDynamicDbForSDK"
|
||
|
} else {
|
||
|
$databaseName = "AlkamiMaster"
|
||
|
|
||
|
if (!$connectionString) {
|
||
|
$connectionString = (Get-FormattedConnectionString '.' $databaseName)
|
||
|
}
|
||
|
|
||
|
## Ensure the local tenant exists just in case it doesn't yet.
|
||
|
Import-DeveloperDynamicTenant $connectionString
|
||
|
|
||
|
if (!(Test-DatabaseExists $connectionString "DeveloperDynamic")) {
|
||
|
$consume = Initialize-AlkamiDatabase $connectionString "DeveloperDynamic"
|
||
|
}
|
||
|
|
||
|
## Get tenants for migrating
|
||
|
$fullTenants = (Get-FullTenantListFromServer $connectionString)
|
||
|
$tenants = $fullTenants
|
||
|
|
||
|
Write-Host "get tenants"
|
||
|
$tenantWhitelist += @((Get-DeveloperTenant).BankGuid.ToString())
|
||
|
|
||
|
$chocolateyParameters = @($chocolateyParameters,@() -ne $null)[0]
|
||
|
$tenantWhitelist += @($chocolateyParameters["TenantWhitelist"] -split ',')
|
||
|
|
||
|
if ($tenantWhitelist.Count -gt 0) {
|
||
|
$tenants = $fullTenants | ? { $tenantWhitelist.Contains($_.BankGuid.ToString()) }
|
||
|
}
|
||
|
|
||
|
## Run the migrations
|
||
|
$tenants | % {
|
||
|
$tenant = $_
|
||
|
Write-Host "Migrating database for `[$($tenant.Name) $($tenant.Signature)`]"
|
||
|
Invoke-Migrate $tenant.ConnectionString $tenant.Catalog $migrationPath "SetupDynamicDbForSDK"
|
||
|
}
|
||
|
}
|
||
|
}
|