Azure-Sql-Database

Visual Studio 數據庫項目 - 發布不包括刪除,但架構比較包括

  • November 15, 2018

我剛剛觀察到發布與架構比較的結果有所不同。我對 Visual Studio 數據庫項目進行了更改——其中一些涉及刪除表。

  1. 將更改推送到 VSTS,建構成功,發布成功到 Azure DB
  2. 檢查說 Azure DB。在項目中刪除的表沒有被刪除。仔細檢查了發布腳本 - 這不包括任何掉落物。
  3. Ran SchemaCompare - 這暴露了所有失去的刪除,並且在執行時給了我預期的結果(刪除了適用的表)。

手動發布與模式比較時,在本地數據庫上觀察到相同的結果。我做錯了什麼?我認為發布會刪除表格。

發布>高級設置>拖放>“將對象拖放到目標中但不在源中”

https://stackoverflow.com/questions/1799802/dropping-a-table-with-visual-studio-2010-database-project

Visual Studio DB Projects 似乎是管理數據庫更改的糟糕選擇。必須設置許多不同的設置才能獲得所需的效果,例如設置“將對象放在目標中但不在源中”。此外,部署後腳本需要設置為無建構操作,但 Scripts.Postdeployment1.sql 需要設置為 PostDEploy 建構操作。

如果該項目無法正常執行,則很難弄清楚發生了什麼。

這絕對不像普通的 T-SQL 那樣透明。

引用自:https://dba.stackexchange.com/questions/166985