3

我有一个新的 ASP.NET MVC 项目,它将使用他们的云服务托管在 Azure 中,并运行多个 Web 角色。我的问题是关于如何使用 FluentMigrator 进行生产部署来进行数据库更改。

如果我在 TeamCity 部署期间运行 FluentMigrator,它似乎会先更新数据库,然后一次部署到多个 Web 角色。因此,似乎有些用户会访问旧版本的站点并使用新的数据库结构,这将导致不匹配和抛出异常。

使用 FluentMigrator 部署到生产 Azure SQL 数据库环境的最佳做法/建议是什么?

4

1 回答 1

0

首先,确保您部署到暂存槽,并且只有在您对一切正常工作感到满意时才进行 VIP 交换。

如果您的迁移包括添加列、索引和表之类的内容 - 这些将是非破坏性更改,您的旧代码应该可以在新数据库上正常工作。

如果您的迁移包括重大更改(更改列名、删除列、更改列数据类型),那么您应该在部署时放置一个保留页面。我们在配置文件中设置了一个标志,在我们进行这些类型的部署时,该标志服务于一个保留页面。

于 2014-06-28T20:57:38.620 回答