Modules/businessdev.ALbuild.OnPrem/Public/Sync-BcOnPremApp.ps1
|
function Sync-BcOnPremApp { <# .SYNOPSIS Synchronises an AL app's schema on an on-premises Business Central server instance (licensed). .PARAMETER ServerInstance The BC server instance. .PARAMETER AppName The app name. .PARAMETER AppVersion Optional app version. .PARAMETER Mode Add (default), Clean, Development or ForceSync. .PARAMETER Tenant Tenant. Default 'default'. #> [CmdletBinding(SupportsShouldProcess)] param( [Parameter(Mandatory)] [string] $ServerInstance, [Parameter(Mandatory)] [string] $AppName, [string] $AppVersion, [ValidateSet('Add', 'Clean', 'Development', 'ForceSync')] [string] $Mode = 'Add', [string] $Tenant = 'default' ) Assert-ALbuildLicensed -Feature 'OnPrem' if (-not $PSCmdlet.ShouldProcess($ServerInstance, "Sync $AppName ($Mode)")) { return } $params = @{ ServerInstance = $ServerInstance; Name = $AppName; Mode = $Mode; Tenant = $Tenant; Force = $true; ErrorAction = 'Stop' } if ($AppVersion) { $params['Version'] = $AppVersion } Sync-NAVApp @params Write-ALbuildLog -Level Success "Synchronised $AppName ($Mode) on '$ServerInstance'." } |