与生产 SQL Server 应用程序交谈,支持允许在应用程序生命周期中修改数据库架构的方案非常重要。在我的特殊情况下,它是Entity Framework 4.1应用程序。
今天,ADO.NET 团队致力于代码优先迁移。我认为它真的很棒,但它处于 alpha 阶段,只能与 EF Code First 一起使用。
以 SQL 语言编写更新(向上和向下)脚本以供生产使用的最佳实践是什么?有什么支持工具吗?
部署场景也很重要。如何在构建服务器上自动迁移(例如,使用 MSBuild)?
与生产 SQL Server 应用程序交谈,支持允许在应用程序生命周期中修改数据库架构的方案非常重要。在我的特殊情况下,它是Entity Framework 4.1应用程序。
今天,ADO.NET 团队致力于代码优先迁移。我认为它真的很棒,但它处于 alpha 阶段,只能与 EF Code First 一起使用。
以 SQL 语言编写更新(向上和向下)脚本以供生产使用的最佳实践是什么?有什么支持工具吗?
部署场景也很重要。如何在构建服务器上自动迁移(例如,使用 MSBuild)?
有很多 - 在这里找到一长串替代品。
我自己一直在研究这个,试图避免对我们自己的内部本土解决方案进行任何进一步的开发(这是一团糟......)。
我最感兴趣的是Roundhouse
它适用于 SQL 脚本(这对我来说是必须的),它允许一次性脚本,每次脚本等等,它跟踪它所做的事情,它允许特定于环境的脚本(例如你的东西DEV
或TEST
你的环境不想生产),它是高度可配置的——对我来说看起来不错!
我更喜欢使用纯 SQL 查询进行 SQL 架构迁移,但如果您没有数据库版本控制,这并不容易,如果您使用 .net,则有一个免费的 NuGet 包,它将控制您的数据库版本,并且可以使用纯 SQL询问。