使用 VSTS 的 Build Release 佈署 Database 專案

使用 VSTS 自動佈署,也可以佈署 database 專案

目前構想的建置流程是
1.先在 LocalDB 開發,
2.然後將 LocalDB Schema 佈署到 Database 專案
3.將專案同步到 VSTS git 上
4.VSTS 觸發自動建置與佈署

1,2,3 步驟就不多說了(資料庫專案屬性的目標平台要選擇 Azure SQL Database),這篇主要講解第4步驟

建置很容易,如下圖

選擇 Build solution,然後把建置好的檔案(只需要 .dacpac 檔)發佈到共用容器

接著看佈署設定,因為沒有相關的 template 可以選,所以直接開一個空的

名字取一取,其他設定都不用動,然後新增 Azure SQL Database Deployment

特別說明其中幾個設定

  • Azure Classic Subscription
    就是 Azure 的訂閱帳號,不過這邊不能直接選,要自己增加
  • Deployment Package
    • Type: 選擇 SQL DACPAC File
    • DACPAC File: 從容器 copy 過來的 .dacpac 檔案,
    • Additional SqlPackage.exe Arguments: 輸入 /p:RegisterDataTierApplication=true /p:BlockWhenDriftDetected=true
      特別說一下這兩個參數,他會將資料庫專案裡的版本資訊(如下圖)存到 MSSQL 的 sysdac_instances_internal 裡

      在 MSSQL 可以看到

      如此也達到版控的效果