由于该应用程序是代码加上数据库模式和数据库代码表的组合,除非您有随代码一起进行版本控制的数据库,否则您无法真正拥有完整的应用程序构建。
我们还没有能够想出在敏捷/Scrum环境中如何进行数据库开发以及与代码结合的良好敏捷方法。
以下是我的一些要求:
- 我希望能够有一个与系统完整构建对应的svn修订号。
- 我不想将二进制文件检入数据库的源代码控制。
- 开发人员需要能够向持续集成服务器提交代码并一起构建整个系统和数据库。
- 必须能够自动部署到不同的环境,而不需要重新构建除构建服务器上的原始构建之外的任何内容。
没有OR/M工具,因为它是一个具有大量代码的遗留项目。 我已经阅读了敏捷数据库设计信息,该过程孤立起来似乎有效,但我正在谈论将其与活动代码开发相结合。
以下是两种情况
- 开发人员检入代码更改,需要进行数据库更改。开发人员应该能够同时检入数据库更改,以便自动构建不会失败。
- 开发人员检入应该破坏代码的DB更改。自动构建需要运行并失败。
(更新2) 再添加一个:
您不能关闭生产环境,您必须修补它。重建整个生产数据库是不可接受的。