Capistranoをセットアップし、ステージングサーバーとライブサーバーへのデプロイに使用しました。これは、開発ワークフローを大幅に改善しました。私が今疑問に思っているのは、データベースの展開をどのように処理するのが最善かということです。私は見栄えの良いLiquibaseを持っていますが、最善のアプローチがまだ何であるか完全にはわかりません。ライブサイトの適切なクローンになるように、ライブサーバーからステージングサーバーおよび開発サーバーにデータを同期する必要がありますか?また、スキーマの変更は、一般的に、バージョン管理されてステージング/ライブにデプロイされるタイプのものでしょうか?ベストプラクティスと皆さんが行うことについてのアドバイスをいただければ幸いです。私は主にMySQLデータベースを使用していることを付け加えておきます。
1 に答える
0
Liquibase は実際には、本番データベースを開発環境と「同期」するようには設計されていません。代わりに、開発環境へのすべての変更を追跡するように設計されているため、本番環境で忠実に再現できます。
ただし、liquibase には、データベースを抽出して相互に比較するための強力なツールがいくつか含まれています。ただし、この機能は、新しいプロジェクトの初期化、または 2 つのデータベースを「同期」するために既存のプロジェクトに追加できる不足している「変更セット」の検出をサポートするように設計されています。
liquibase を発見する最善の方法は、試してみることです。あなたの目的のために、コマンドラインの実装を見ていきます。(Capistrano 内に liquibase を埋め込みたい場合、必要なのは、liquibase jar と、データベースに関連付けられた JDBC jar だけです。)
PS
以下は、liquibase で 2 つのデータベースを比較する例です。
于 2012-11-22T19:03:19.180 に答える