0

2 つの SQL Server (2000) データベースがあります。どちらも同じプロジェクトで使用されますが、バージョンが異なります。基本的に、古いデータベースはテスト環境のものです。新しいデータベースは DEVELOPMENT 環境のものです。また、ACCEPTANCE、PRODUCTION、および MAINTENANCE 環境もあり、それらにはすべて同じプロジェクトが含まれています。(D から T へ、A から P へ、そして最後に M へとバージョンを移動する、私たちの開発通りです。)

現在、開発データベースの構造が変更されています。いくつかのテーブルが追加され、インデックスが追加または削除され、フィールドの型が変更され、null 許容フィールドが null 非許容になりました。テスト データベースは新しい構造でアップグレードする必要がありますが、データを失うことはありません。現在、私はこれを多くの手作業で行っています。構造上の変更のリストを保持し、すべての準備が整ったら、古いテスト データベースにパッチを適用するための更新スクリプトを作成します。

しかし、ソフトウェア エンジニアとして、私は設計上怠け者です。では、2 つのデータベース構造を比較し、それ自体で更新スクリプトを生成する簡単なツールはありますか?

(構造を変更するだけです。ところで、データ操作はありません!)

4

4 に答える 4

3

はい、私の意見では最高のものはRed Gateによるものです

彼らが提供する SQL Toolbelt は非常に優れており、ツールのバンドルが含まれています。または、SQL Compare を単独で入手することもできます。無料ではありませんが (14 日間の試用版を除く)、十分に価値があります

于 2009-07-10T13:56:01.220 に答える
2

Red Gate の SQL Compare をご覧ください。完全なライブセーフ

于 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

*nixPerl SQL::Translater (SQLFairy) を使用して SQL データベース スキーマ間の差分を生成する sqlt-diff というコマンド ライン ツールを使用しました。

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

これは無料のオープンソース ツールです。生成された差分を手動で編集して、わずかにカスタマイズしました。

于 2012-01-27T17:00:43.907 に答える