3

当我发布每个版本的软件版本和分支版本时,我如何才能轻松地为这些版本生成更新/补丁脚本?我无法打开数据库项目并比较它们,因为它们的名称相同,而 Visual Studio 不喜欢这样。

我的下一个想法是将低版本部署到数据库,然后通过打开软件的下一个版本来生成更改脚本。这似乎有点乏味。

另外,如何将其集成到设置项目而不是手动过程中?

4

1 回答 1

1

即使您使用的是新的实体框架,您仍然无法让 Visual Studio 等自动为您跟踪数据库架构中的更改,您必须手动跟踪版本之间的更改并应用它们(通常在升级的应用程序运行时)首次)。

我会建议...

  1. 在某个表中将版本标识符添加到您的数据库模式。
  2. 跟踪版本之间的所有数据库架构更改,例如,如果您使用 MySQL,那么每次您进行架构更改时,Toad都会提交一个存储库(例如 SVN),这使得记录更改更容易。
  3. 部署新版本时,汇总所有架构更改并将它们标记为从版本 Y 到版本 Z 的更改集。
  4. 当您的应用程序第一次运行时(所以不是使用安装程序而是使用应用程序本身),在架构中查找版本,并应用每个更新脚本,直到您达到应用程序的版本。因此,如果应用程序运行并发现模式 X,它将运行脚本 Y,然后运行脚本 Z。

这是大多数应用程序的运行方式,例如 wordpress、blogengine.net;所有这些都以这种方式运行,发布时它们提供一个脚本来从头开始创建模式,另一个脚本从上次发布的版本更新它。

于 2011-10-06T17:33:03.537 回答