2014-07-18 63 views
0

試圖查看它是否足夠可靠將數據庫導入到Visual Studio中,然後將其推送到源代碼管理下,稍後使用Visual Studio生成更改腳本並進行部署?使用Visual Studio數據庫項目在源代碼管理下獲取SQL

我一直在和我的同事交談,他們說使用Visual Studio生成更改腳本不夠可靠,因爲它無法生成正確的更新/更改腳本。

他們一直在構建一個工具來比較模式,並將數據庫對象加載到一個xml文件中,該文件將用作基線,並且隨時需要進行更改,dev應手動編輯xml文件,然後運行cmd命令以生成SQL更改腳本。

從我的角度來看,我發現使用VS編輯和部署更改要容易得多,因爲它具有智能感知和所有漂亮的IDE功能。

+1

SSDT非常擅長爲模式生成更改腳本,但它非常保守。默認情況下,如果表中存在數據,則不允許將「NULL」列更改爲「NOT NULL」(因爲如果存在空值,模式升級可能會失敗)。它也不能很好地處理數據(它有一個數據差異,但依賴於主鍵代表相同的事物 - 所以如果你有代理鍵,那麼它不能很好地工作)。它也具有有限的重構支持。 (例如,重命名列=>將該列改爲該列上的外鍵和索引)。 TL; DR使用它。 –

回答

0

visual studio中的數據庫項目非常棒。我們一直在使用它一段時間,從來沒有遇到過問題。除非你首先使用類似EF代碼的東西,否則你必須保持你的數據庫對象在源代碼控制下,就像保持你的代碼一樣!

+0

嗨Zdravko,感謝您的及時響應!你有沒有想過VS會產生不必要的或不需要的代碼,你在部署時可能不會考慮?或者實際上可能會遺漏現有的模式!我知道在部署之前必須有人工干預來審查腳本,但一般情況下都是如此。 – TechNerd

相關問題