簡體   English   中英

Azure DevOps - 多租戶數據庫部署

[英]Azure DevOps - Multitenant database deployment

我們有 Web 應用程序,后面有一個代碼和多租戶數據庫,我們正在使用 Azure Devops CI/CD 進行代碼部署。 我們能夠完美地將代碼發布到數據庫,但是我們希望將其部署到多個數據庫而不需要多個發布管道(租戶數量是動態的,其中 100 多個)。

我能夠將代碼部署到一個數據庫,然后在目標服務器上的命令行中使用 sqlpackage.exe 和 dacpac 文件發布相互重新部署。 但我只想在 Azure devops 中這樣做,但是在命令行任務中的代理機器上沒有 sqlpackage.exe。

這里有人用多租戶數據庫方法處理類似問題嗎? 我對使用 Azure 發布管道的任何解決方案持開放態度。

我能夠通過在部署組上運行 Inline Powershell 和 SqlPackage.exe 來解決此問題。 您只需要擁有一個“模板數據庫”,從中獲取 dacpac 或 bacpac 文件文件,然后將其發布到所有其他數據庫。

參考示例:

ForEach ($a in (Get-Content "E:\DatabaseSync\databaselist.txt")) {SqlPackage.exe /a:Publish /sf:"E:\DatabaseSync\TemplateDB.dacpac" /tsn:localhost /tu:username /tp:password /tdn:$a /p:TreatVerificationErrorsAsWarnings=False /p:BlockOnPossibleDataLoss=True /p:AllowDropBlockingAssemblies=True /p:DropObjectsNotInSource=True /p:DropPermissionsNotInSource=False /p:IgnorePermissions=True /p:IgnoreRoleMembership=真 /p:IgnoreUserSettingsObjects=真 /p:DoNotDropObjectTypes=用戶 /p:ExcludeObjectTypes=用戶}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM