1

我已經花了幾個月的時間開發了一個webApi解決方案,我準備推送到Azure並掛接到Azure SQL數據庫。它由EF Code First構建。如何管理生產中的數據庫上下文更改/ CI

我想知道在生產過程中對數據庫進行更改有哪些標準方法。到目前爲止,我一直在使用數據庫初始化程序,但它們都會丟失數據並重新播種。

我有一種感覺,這個問題的回答言簡意賅太廣,所以我想問:應該開發者考慮設計與EF內置的解決方案持續集成的工作流時什麼術語/流程/資源代碼優先和ASP.NET WebAPI,作爲Azure服務託管並與Azure SQL相連接?

回答

2

關於數據庫遷移的主題,有一篇關於ASP.NET的關於此主題的有趣文章:Strategies for Database Development and Deployment

此外,由於您使用的是EF Code First,您將可以使用Code First Migrations here進行數據庫更改。這將允許您更好地管理對數據庫所做的更改。

我不確定您想要在持續集成的情況下走多遠,但是由於您使用的是Azure,因此可能值得看看Continuous delivery to Windows Azure by using Team Foundation Service。雖然它依賴於雲中的TFS,但它當然也可以使用例如Jenkins進行配置。但是,這確實需要更多的工作。

0

我用這個工藝:

1爲開發環境創建一個克隆數據庫,如果它不存在。

2-在您的開發環境和dev 數據庫中進行必要的更改。

3部署到您的臨時環境。

4-如果你添加了一些靜態的DATAS 也應該存在於你的督促數據庫,使用像 SQLDataExaminer的工具來查找數據的差異並執行 插入,更新,刪除,根據行。使用VS2012中的模式比較來選擇源作爲開發者和目標作爲產品,以發現您的開發者設備和產品環境之間的差異。 並在您的產品中執行腳本。

5-交換環境