0

产品正在作为功能而不是发布来开发和交付,这意味着在完成功能后,它会被推送到登台,然后再投入生产。开发中可能有多个功能,并且交付时间线重叠。因此,在任何时候,开发数据库和源代码控制都具有多个开发功能。功能完成后,我只想将功能特定的代码和数据库更改推送到登台。事实证明,此过程容易出错且耗时,原因如下:

  • 特定功能的数据库实体不是独立的,而是与其他功能相关且相互交织的。因此,分离出特定于功能的实体非常耗时,有时难以实现。有没有更好的方法呢?
  • 在服务器端代码上,类似地分离出特定于功能的代码与 db.xml 一样繁琐。将 .NET Entity Framework 置于 DB 之上并进行其他性能优化(例如预生成视图),是否有更好的方法来部署基于功能的开发?

开发环境包括 SQL Server 2008、.NET、带有用于源代码控制的 SVN 的实体框架。

这里的术语特性与 FDD 敏捷模型无关。

有没有人有过类似的经历?

非常感谢!

4

1 回答 1

1

我管理的项目与您刚才描述的非常相似。

尽快安装 SVN 和 CruiseControl.NET。这是一种生活/时间品味

我目前让我的团队在 SVN 的分支中工作并合并到主干中,然后在准备生产时进行标记。

将您的数据库置于版本控制之下,并将版本号与标签(发布)相关联

我根据这篇很棒的文章推导出了我自己的数据库版本控制方法,该文章建议创建一些表/约束/触发器来帮助版本控制您的数据库。

对数据库进行版本控制是最难的部分。在我们制定一个严格的数据库修改程序之前,一切都是一场噩梦

显然没有足够的空间来解释完整的细节,但我从整天管理/合并代码到现在只是检查自动构建以便安心并有时间为项目做出贡献。

于 2010-02-18T04:41:59.757 回答