0

我有两个 SQL Server (2000) 数据库。两者都用于同一个项目,但版本不同。基本上,旧数据库来自我们的 TEST 环境。新数据库来自 DEVELOPMENT 环境。我们还有一个验收、生产和维护环境,它们都包含相同的项目。(这是我们的开发街,将版本从 D 移到 T 再到 A 到 P,最后是 M。)

现在,开发数据库结构发生了变化。添加了一些表,添加或删除了索引,字段的类型已更改,可空字段已变为不可空,诸如此类。测试数据库需要升级到新的结构,但不会丢失任何数据。现在,我正在用大量的体力劳动来做这件事。我保留了一个结构更改列表,一旦一切准备就绪,我就会编写一个更新脚本来修补旧的测试数据库。

但作为一名软件工程师,我只是故意偷懒。那么,是否有一些简单的工具可以比较两个数据库结构并自行生成更新脚本?

(只是为了改变结构,顺便说一句。没有数据操作!)

4

4 回答 4

3

是的,我认为最好的是红门

他们提供的 SQL Toolbelt 非常好,其中包括一组工具,或者您可以自己获取 SQL Compare。不是免费的(我认为除了 14 天的试用期),但物有所值

于 2009-07-10T13:56:01.220 回答
2

看看Red Gate 的 SQL 比较.. 一个完整的生活更安全

于 2009-07-10T13:54:51.130 回答
2

在工作中,我们使用了一些工具;AdeptSql Diff 和我们正在试用 Redgate-something-something。AdeptSql 比 Redgate 便宜得多,虽然 Redgate 有很多非常漂亮的花里胡哨,但由于我们已经拥有 Adept,我们决定继续使用它。

http://www.adeptsql.com/

对不起,我不知道任何免费的工具;我知道 Redgate 至少有试用期。

于 2009-07-10T13:55:51.300 回答
1

我使用了一个*nix名为 sqlt-diff 的命令行工具,它使用 Perl SQL::Translater (SQLFairy) 在 SQL 数据库模式之间生成差异。

https://metacpan.org/pod/distribution/SQL-Translator/script/sqlt-diff

这是一个免费的开源工具。我确实手动编辑了生成的差异以稍微自定义它们。

于 2012-01-27T17:00:43.907 回答