試圖查看它是否足夠可靠將數據庫導入到Visual Studio中,然後將其推送到源代碼管理下,稍後使用Visual Studio生成更改腳本並進行部署?使用Visual Studio數據庫項目在源代碼管理下獲取SQL
我一直在和我的同事交談,他們說使用Visual Studio生成更改腳本不夠可靠,因爲它無法生成正確的更新/更改腳本。
他們一直在構建一個工具來比較模式,並將數據庫對象加載到一個xml文件中,該文件將用作基線,並且隨時需要進行更改,dev應手動編輯xml文件,然後運行cmd命令以生成SQL更改腳本。
從我的角度來看,我發現使用VS編輯和部署更改要容易得多,因爲它具有智能感知和所有漂亮的IDE功能。
SSDT非常擅長爲模式生成更改腳本,但它非常保守。默認情況下,如果表中存在數據,則不允許將「NULL」列更改爲「NOT NULL」(因爲如果存在空值,模式升級可能會失敗)。它也不能很好地處理數據(它有一個數據差異,但依賴於主鍵代表相同的事物 - 所以如果你有代理鍵,那麼它不能很好地工作)。它也具有有限的重構支持。 (例如,重命名列=>將該列改爲該列上的外鍵和索引)。 TL; DR使用它。 –