我應該將數據庫遷移到VS2012 sql服務器項目中。我已經從目標數據庫導入了所有模式。種子數據將被添加到項目中的後期部署腳本中。不過,我也預見到很多腳本在開發各種增強功能時被開發人員添加。這些可以是更改模式腳本以及數據添加編輯刪除腳本。並且他們都必須按照順序運行部署後,理想情況下由腳本名稱執行1.0.0.0,然後執行1.0.0.2,然後執行1.0.1.0。 SQL Server項目不允許多個部署後文件。我可以在網上找到的是如何創建項目,而沒有人會談論如何創建一個結構,以考慮開發人員在不同發佈週期內所做的更改(更改腳本)。有人可以幫我嗎?VS2012中的自定義腳本文件Sql服務器項目
0
A
回答
1
Schema Comparison消除了編寫自己的更改腳本的需要。模式比較通過將數據庫項目的模式與數據庫服務器進行比較來自動爲您創建alter腳本。
0
好的,這是我迄今爲止所做的。
- 其次Keith的投入和創建了一個項目
- 使用架構比較處理架構基於變化
- 創建了生成操作的單一主腳本= PostDeploy
- 對於數據的腳本,創建命名爲文件夾版本根據不同版本分離腳本
- 在以下語法中添加了這些腳本在Master post deploy腳本中的條目:r Folder \ MyScript.sql
這將暫時適用,但應該有一種更好的方法來確保文件夾中的自定義腳本在主部署後腳本中自動選取。有了這個解決方案,開發人員每次添加一個腳本,就必須將一個條目寫入主部署腳本(:MyCustomeDataScript.sql)
我認爲可能有更好的方法來做到這一點,但我我沒有意識到這一點。我正在努力尋找一種方法,可以自動在主部署腳本中手動輸入新腳本。
+0
您可能會考慮使用諸如Red-Gate的SQL Data Compare等產品。如果您可以在某處保留數據庫w/data的「主」副本,則可以使用它來生成「種子」腳本。我不知道你需要支持多少個版本,但是如果你不支持許多版本,你可能會簡化這些腳本。但是,您需要有紀律才能檢入並使用這些數據插入腳本。 (不一定是壞的,因爲它可以確保你在發佈時不會錯過,但可能會很乏味) –
相關問題
- 1. 自定義服務器腳本
- 2. PHP項目的Rails腳本/服務器
- 3. VS2012中的SQL Server項目
- 4. 獲取選定的文本asp.net自定義服務器控件
- 5. Joomla自定義組件更新服務器腳本問題
- 6. ASP.NET自定義服務器控件:嵌套項目
- 7. 自定義DropDownList服務器控件回發丟失項目
- 8. 項目中的Netbeans自定義文件
- 9. 什麼定義了VS2012數據庫項目中腳本執行的順序?
- 10. Opencart自定義:評分的服務器端腳本
- 11. Visual Studio SQL |服務器項目| SQL文件語法驗證
- 12. 動作腳本3和自定義圖像項目管理器
- 13. 在DocPad服務器上運行自定義節點腳本
- 14. C++項目文件版本中的自定義字段
- 15. 使用.net 4.5在VS2012中創建自定義STS服務
- 16. 在自定義maven插件中解密服務器條目
- 17. 自定義團隊基礎服務器工作項目模板
- 18. 自定義服務器控件,使用表單和腳本管理器
- 19. 在Sql Server中自定義Sql-Server腳本生成器
- 20. 在SQL 2008服務器中創建自定義SQL Server角色
- 21. 自定義AJAX服務器
- 22. 將自定義Web服務(從自定義Web服務器)添加到Visual Studio項目(Outlook Addin)
- 23. 在WCF服務庫項目中使用自定義的ServiceHostFactory
- 24. 腳本來清點5年以前的文件服務器項目
- 25. .NET MVC自定義郵件服務器
- 26. 爲本地項目中的SQL服務器編碼
- 27. 自動將文本文件上傳到MS SQL服務器
- 28. ListView控件中的自定義項目
- 29. 文本框中的sql服務器html
- 30. 手動刷新本地服務器上的項目文件? (Netbeans)
爲了使用多個後期部署腳本,您需要將一個主要後期部署腳本標記爲構建類型的「後期部署」,然後在該腳本中使用「:r。\ script.sql 「sqlcmd語法來包含實際的腳本。但是,正如Keith所說,您應該讓項目在99%的案例中處理模式更改。這就是它設計的目的。很少,您可能必須在後期部署腳本中進行模式更改,但在必要之前,我會盡量避免它。 –
是的,對部署後架構更新腳本的需求應該非常少見。你真的有這個需要嗎?如果是這樣,你能提供一個例子嗎? –
除了模式更新之外,多個數據插入更新腳本是我的擔心。隨着產品功能的增加,表格的種子數據會增加。例如,如果我正在創建一個貸款管理系統,我會將一個貸款的狀態(InProcess,Rejected,Granted)放在一個表中。同樣,對於正在進行的每個增強/故事可能都需要一些種子數據出現在系統中。我無法理解這將如何照顧。當然,將所有這些數據放入一個部署後腳本中並不是一個好主意。 – BatNetMan