迁移模块化系统

时间:2013-04-23 04:03:20

标签: asp.net-mvc asp.net-mvc-3 entity-framework module migration

我想创建一个模块化系统。我的项目中存在迁移概念的问题。 我需要一个关于创建模块和进行迁移的系列原则。例如,假设我正在创建PersonService模块并根据Models模块创建数据库,然后在该模块的下一个版本中我必须更改它的模型。我将向客户销售新模块,然后必须根据客户的数据库更新到新模式。此过程必须自动完成。但我的问题是:

如何在客户系统中自动迁移数据库?

创建模块和数据库的重要原则是什么?

客户可以更新数据库,如果客户想要安装旧版本的模块吗?

------------------------ EDIT ---------------------- --------- 什么型号更好用?Code-First?数据库优先?还是......?

我是否通过自动迁移来破坏客户的数据?

再次感谢

1 个答案:

答案 0 :(得分:1)

您可以使用自动数据库迁移将最新版本的应用程序部署到客户,并在下次运行时更新,只要您在Migrations文件夹中的configuration.cs文件中启用了自动迁移。如果您有任何逻辑,具体取决于这些字段或表,但您需要确保在迁移期间填充数据或禁用该逻辑,直到数据填充完毕后为止。

如果希望在初始安装期间始终以基准数据库开头,则需要在此处添加迁移,然后在将现有字段或表添加到模型以及数据库之前,需要启用迁移。如果您更新模型并希望将安装日期恢复到以前的模型版本,那么除非您构建大量代码以恢复到之前从未创建的迁移,否则您将失去运气。

相关问题