私の会社には、ユーザー支援の設計ツールを制御する比較的小さなAccessデータベース(2〜5 MB)がいくつかあります。当然、これらのデータベースは、データのバグが検出されて修正され、スキーマがツールの新機能をサポートするように変更されるにつれて、時間の経過とともに進化します。データベースのあるバージョンから次のバージョンへのデータとスキーマの両方を比較するために、データベース差分ツールを推奨できる人はいますか?無料、オープンソース、または商用の提案を歓迎します。
7 に答える
スキーマの比較にはRedGateSqlCompareを使用します。また、スキーマのスナップショットを保存して、後でdiffで使用できるようにする興味深い機能もあります。たとえば、今日のスキーマを1か月前のスキーマと比較します。
ApexSQL Diff を使用しています。これは、まさにあなたが説明していることを実行するための優れたツールです...スキーマの比較、データの比較、変更スクリプトの生成。無料ではありませんが、うまく機能します。
注: ApexSQL Diff は SQL Server でのみ機能します。
SQL Server 2005を使用することになったため、実際に購入したことはありませんでしたが、DBDiffがそのトリックを実行したようです:http ://www.dkgas.com/downdbdiff.cgi
ODBC互換のDBで動作します。
過去にTotal Access Detectiveを使用したことがありますが、うまくいきました。かなり前のことなので、まずは調べてみてはいかがでしょうか...
特徴
大規模なデータセット (+10MM 行) 向けの高パフォーマンス。
非常に大規模なデータセットでも、メモリ オーバーヘッドが非常に低くなります。
高品質 - アプリケーション/フレームワーク用の包括的な組み込み回帰テスト スイート。
Java run Everywhere (tm) — Linux、Solaris、OS X、Windows など。
クロスデータベース -- Oracle、MySQL、DB2、および任意の JDBC データソース。
コマンドライン駆動。GUI は必要ありません。ヘッドレス環境で実行できます。
XML 構成ファイル駆動型。
無料のオープン ソース ソフトウェア。
Apache ライセンス、バージョン 2.0。
クリーンなオブジェクト指向設計により、拡張が容易になります。
Java ライブラリ (jar) として簡単に埋め込むことができます。
Red Gate の最も優れた SQL Compare の無料の代替手段を探している場合は、 SQLDBTools によって作成されたSQLDBDiggを確認してください。これは、私が陥って SQL Compare を購入するまで使用していたものです。
これは完全な解決策ではありませんが、両方のデータベースを txt/SQL ファイルとしてエクスポートし、TortoiseSVNに付属するような差分プログラムを使用することがよくあります。その後、すべての違いを確認できます。データベースを同期するためにSQLを自動的に作成することはありません。