Azure-Sql-Database
Visual Studio 數據庫項目 - 發布不包括刪除,但架構比較包括
我剛剛觀察到發布與架構比較的結果有所不同。我對 Visual Studio 數據庫項目進行了更改——其中一些涉及刪除表。
- 將更改推送到 VSTS,建構成功,發布成功到 Azure DB
- 檢查說 Azure DB。在項目中刪除的表沒有被刪除。仔細檢查了發布腳本 - 這不包括任何掉落物。
- Ran SchemaCompare - 這暴露了所有失去的刪除,並且在執行時給了我預期的結果(刪除了適用的表)。
手動發布與模式比較時,在本地數據庫上觀察到相同的結果。我做錯了什麼?我認為發布會刪除表格。
發布>高級設置>拖放>“將對象拖放到目標中但不在源中”
Visual Studio DB Projects 似乎是管理數據庫更改的糟糕選擇。必須設置許多不同的設置才能獲得所需的效果,例如設置“將對象放在目標中但不在源中”。此外,部署後腳本需要設置為無建構操作,但 Scripts.Postdeployment1.sql 需要設置為 PostDEploy 建構操作。
如果該項目無法正常執行,則很難弄清楚發生了什麼。
這絕對不像普通的 T-SQL 那樣透明。