1

在过去的几个月里,我一直在开发一个 webApi 解决方案,我已准备好将其推送到 Azure 并连接到 Azure SQL 数据库。它是使用 EF Code First 构建的。

我想知道在生产中对数据库进行更改的标准方法是什么。到目前为止,我一直在使用数据库初始化程序,但它们都会吹走数据并重新播种。

我觉得这个问题对于一个简洁的答案来说太宽泛了,所以我想问一下:在为使用 EF Code First 和 ASP 构建的解决方案设计持续集成工作流时,开发人员应该查看哪些术语/流程/资源。 NET WebAPI,作为 Azure 服务托管并连接到 Azure SQL?

4

2 回答 2

2

关于数据库迁移,在 ASP.NET 上有一篇关于此主题的有趣文章:数据库开发和部署策略

此外,由于您使用的是 EF Code First,因此您可以在此处使用 Code First Migrations进行数据库更改。这将使您能够更好地管理对数据库所做的更改。

我不确定您希望持续集成走多远,但由于您使用的是 Azure,因此使用 Team Foundation Service 查看持续交付到 Windows Azure可能是值得的。尽管它依赖于云中的 TFS,但当然也可以使用Jenkins对其进行配置。然而,这确实需要更多的工作。

于 2013-06-29T23:16:19.573 回答
0

我使用这个技术:

1- 为您的开发环境创建一个克隆数据库(如果它不存在)。

2- 在您的开发环境和开发数据库中进行必要的更改。

3-部署到您的登台环境。

4-如果您添加了一些静态数据,这些数据也应该存在于您的 prod 数据库中,请使用 SQLDataExaminer之类的工具来查找数据差异并执行相应行的插入、更新、删除。使用 VS2012 中的 Schema Compare 通过选择 source 作为 dev 和 target 作为 prod 来查找你的 dev 和 prod 环境之间的差异。并在您的产品中执行脚本。

5-交换环境

于 2013-07-03T07:26:43.460 回答