2013-04-23 111 views
0

我想創建一個模塊化系統。我在項目中有一個關於遷移概念的問題。 我需要關於創建模塊和遷移的一系列原則。例如假設我正在創建一個PersonService模塊並根據模型創建數據庫。在這個模塊中,然後在該模塊的下一個版本中,我必須更改它的一個模型。我將銷售新模塊給客戶,然後客戶的數據庫必須根據到新模型。這個過程必須自動完成。但我的問題是:模塊化系統遷移

如何在客戶系統中自動遷移我的數據庫?

什麼原理對創建模塊和數據庫很重要?

客戶可以更新數據庫,如果客戶想安裝舊版本的模塊?

------------------------編輯--------------------- ---------- 什麼模式更好用?代碼優先?數據庫優先?還是....?

我是否通過自動遷移來破壞客戶的數據?

再次感謝

+0

請停止在您的帖子上使用簽名。你的用戶箱已經做到了。 – 2013-04-26 06:50:44

回答

1

可以使用自動數據庫遷移到客戶,並根據它會更新提供的下一次運行部署最新版本的應用程序,你必須在遷移中你configuration.cs文件中啓用自動遷移夾。如果您有任何邏輯取決於這些字段或表,但您需要確保在遷移過程中填充數據或禁用該邏輯,直到數據填充完成後再執行一些操作。

如果您希望在初始安裝期間始終以基準數據庫開頭,則需要在將現有字段或表格添加到模型以及數據庫之前啓用此時的遷移。如果您更新了模型並希望將安裝日期還原到以前的模型版本,那麼您將會非常幸運,除非您構建大量代碼以恢復到以前從未創建的遷移。

+0

謝謝卡杜梅,但我研究EF中的自動遷移,大多數人認爲這是一種不安全的方法,您能否介紹一種安全的遷移方法,我可以在代碼中進行遷移嗎? – 2013-04-23 07:22:10

+1

我一直在使用這種方法一年多,從來沒有問題。不確定更安全的方法 – 2013-04-23 13:09:04