2 つのデータベースを同期するアプリケーションをご存知ですか。開発中に、1 つまたは 2 つのテーブル行または新しいテーブルまたは列を追加する必要がある場合があります。通常、私はすべてのSQLステートメントをいくつかのファイルに書き込み、パスのアップロード中にそれらの行を本番データベースに作成します(以前にバックアップします)。私は mySQL および postreSQL データベースを扱っています。
あなたの実践は何ですか、そしてその中であなたを助けるアプリケーションは何ですか。
2 つのデータベースを同期するアプリケーションをご存知ですか。開発中に、1 つまたは 2 つのテーブル行または新しいテーブルまたは列を追加する必要がある場合があります。通常、私はすべてのSQLステートメントをいくつかのファイルに書き込み、パスのアップロード中にそれらの行を本番データベースに作成します(以前にバックアップします)。私は mySQL および postreSQL データベースを扱っています。
あなたの実践は何ですか、そしてその中であなたを助けるアプリケーションは何ですか。
ツールまたはアプリケーションの回答を求めましたが、本当に必要なのはプロセスの回答です。ここでの基本的なテーマは、データベースDDL(および必要に応じてDML)をバージョン管理し、データベースの任意のバージョンをより高いバージョンに更新できるように変更スクリプトを提供する必要があるということです。
Jeff Atwoodによって提供され、K。Scott Allenによって書かれたこの一連のリンクは、これがどのように見えるべきかを詳細に説明しています 。 2008/02 / get-your-database-under-version-control.html
PostgreSQL の場合は、 Another PostgreSQL Diff Toolを使用できます。2 つの SQL ダンプを非常に高速に比較できます (約 300 のテーブル、50 のビュー、および 500 のストアド プロシージャを含むデータベースで数秒)。したがって、変更を簡単に見つけて、実行できるSQL diffを取得できます。
APGDiff ページから:
もう 1 つの PostgreSQL 差分ツールは、スキーマのアップグレードに役立つシンプルな PostgreSQL 差分ツールです。このツールは、2 つのスキーマ ダンプ ファイルを比較し、古いスキーマのアップグレードに適した出力ファイルを作成します (手動で変更を加えた後)。
ボトムオフにのみ追加するスクリプトを (もちろんソース管理下で) 用意してください。運用データベースから dev への定期的な復元と組み合わせると、ゴールデンになるはずです。あなたがそれについて厳密であれば、これは非常にうまく機能します。
それ以外の場合、多くの人が SQLServer に redgate を使用していることを知っています。
RedGate SQL Compare にもう 1 票
http://www.red-gate.com/products/SQL_Compare/index.htm
それなしでは生きたくないでしょう!
編集:申し訳ありませんが、これはSQL Server専用のようです。それでも - もし SQL Server ユーザーが同じ質問をしているなら、私は間違いなくこのツールをお勧めします.
開発データベース用の SQL ステートメント (CREATE、ALTER、DROP などの一連の DDL 命令であると想像されます) を作成する場合、"バージョン" 索引?その後、次のことができるようになります。
ヒキガエル
過去に何度かお尻を救った。なぜ人々は出口戦略なしでSQLを実行するのですか?
レッドゲートのものも良いです。
Navicatには、これを処理する構造同期ウィザードがあります。
Siebel (CRM、セールスなどの管理製品) には、本番データベースを開発データベース (dev2prod) と整合させるためのツールが組み込まれています。
そうしないと、手動で実行するスクリプトに固執する必要があります。
Hibernateを使用してこれを解決します。欠落しているテーブル、列などを検出して自動作成できます。
これは、Magento データベースを同期するために私が書いた単純な Linux bash スクリプトです...しかし、他の用途のために簡単に変更できます :)
http://markshust.com/2011/09/08/syncing-magento-instance-production-development
dbDeployまたは同様のスクリプトを使用して、現在の方法に自動化を追加できます。これにより、スキーマの変更を追跡し、必要に応じてスキーマをアップグレード/ロールバックできます。