在开发过程中,我喜欢像Entity Framework 4.3 Migrations这样的框架(尽管我需要它使用sql脚本而不是Migration类),使所有开发人员数据库保持最新状态。有人进行更新以获取最新源代码,他们尝试运行应用程序并获取他们需要将其数据库更新到最新迁移(或自动发生迁移)的错误。迁移文件具有时间戳,因此开发人员不必担心命名两个文件相同或文件需要执行的顺序。设计完整的数据库迁移堆栈
当我准备构建WebDeploy部署包时,我希望包中包含将生产数据库移至最新的db版本所需的脚本。所以不知何故,MSBuild或WebDeploy需要决定哪些脚本必须打包。对于部署,我不希望应用程序尝试像EF提供的那样尝试自我更新。我想要将软件包交给IT部门,或者通过部署服务器进行自动部署。
我的一些问题是:
能EF 4.3使用SQL脚本,而不是DBMigration班我的发展需要的工作(我已经使用它为我的ORM所以它如果能够很好)?
MSBuild或WebDeploy是否理解数据库迁移的概念(例如它是否识别EF 4.3迁移历史表),还是必须确保仅为其提供运行所需的脚本,以便将我的prod db到最新的迁移?手动确定应该包含哪些脚本不是我想要做的,因此是否存在理解迁移的MS WebDeploy扩展?
我的担忧和想法是否有效?我只是在研究这个东西,所以我不知道。