1

对于 C# 项目,我有从 TFS 运行到 Azure 的持续交付,这很好。

我现在想让持续交付与我的 SQL 数据库一起工作。

目前我有一个保存数据库的 SQL 2008 R2 数据库。

确保我可以使用来自 TFS 的持续交付以包含数据库更改的最佳选择是什么?

重要的因素是它需要在签入 TFS 时自动化。

4

1 回答 1

-1

我刚刚遇到这个问题,发现很难获得指导,但已经在我的应用程序中管理它,我对 MVC 和 Azure 很陌生,所以如果这不是太详细,请原谅。

这就是我所做的;

在我的 Global.asax.cs 中Application_start(),我添加了:

Database.SetInitializer(new MigrateDatabaseToLatestVersion<ApplicationDbContext, Configuration>());

ApplicationDbContext您的上下文的名称在哪里。请记住添加对您的Models类和Migrations类的引用。

当你这样做时,我认为迁移是在第一次调用上下文时在你的数据库上运行的,它不会删除并重新创建你的数据库。

我遇到的一个问题是我收到一条错误消息,指出数据库中已经存在对象,因为__MigrarionHistory表中没有任何迁移数据,因此它试图从头开始创建数据库。幸运的是,我的应用程序还没有上线,所以我可以删除表并提交到 TFS,它重新创建了所有内容并包含了所有内容,__MigrationHistory因此,任何新的代码首次迁移都会在第一次命中时运行,并且数据库会更新。如果这个数据库是实时的,我不知道该怎么办!

希望有帮助

于 2014-02-09T15:21:23.050 回答