gpt4 book ai didi

sql-server - 如何对SQL Server数据库进行版本控制?

转载 作者:太空狗 更新时间:2023-10-30 01:36:40 28 4
gpt4 key购买 nike

我想让我的数据库受版本控制。

我总是希望至少有一些 数据(如alumb 提到的:用户类型和管理员)。我还经常需要生成大量测试数据以进行性能测量。

我如何将版本控制应用于我的数据库?

最佳答案

Martin Fowler 写了我最喜欢的关于这个主题的文章,http://martinfowler.com/articles/evodb.html .我选择不按照 alumb 和其他人的建议将模式转储置于版本控制之下,因为我想要一种简单的方法来升级我的生产数据库。

对于我将拥有单个生产数据库实例的 Web 应用程序,我使用了两种技术:

数据库升级脚本

序列数据库升级脚本,包含将架构从版本 N 移动到 N+1 所需的 DDL。 (这些在你的版本控制系统中。)一个_version_history_表,类似于

create table VersionHistory (
Version int primary key,
UpgradeStart datetime not null,
UpgradeEnd datetime
);

每次运行与新版本对应的升级脚本时都会获得一个新条目。

这确保可以轻松查看存在的数据库架构版本,并且数据库升级脚本仅运行一次。同样,这些不是数据库转储。相反,每个脚本代表从一个版本移动到下一个版本所需的更改。它们是您应用于生产数据库以“升级”它的脚本。

开发者沙盒同步

  1. 用于备份、清理和收缩生产数据库的脚本。在每次升级到生产数据库后运行它。
  2. 用于恢复(并在必要时调整)开发人员工作站上的备份的脚本。每个开发人员在每次升级到生产数据库后运行此脚本。

警告:我的自动化测试是针对架构正确但为空的数据库运行的,因此此建议不能完全满足您的需求。

关于sql-server - 如何对SQL Server数据库进行版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/173/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com