0

メイン データベースとして CouchDB を使用するアプリを実行している実稼働サーバーがあります。CouchDB インスタンスを持つステージング サーバーをセットアップして、いつでも本番インスタンスに同期してクリーン コピーを取得できるようにしたいと考えています。

単純な解決策は、ステージング サーバーに運用サーバーのデータベースを継続的に複製させ、それを使用することです。もちろん問題は、ステージング サーバーでのテスト中に、データベースを変更する可能性があることです。

機能的に正しいのは、毎回データベースを削除して、本番環境から再複製することです。しかし、毎回ゼロから始めなければならない場合、これには非常に長い時間がかかることは明らかです。

私は次のような解決策を探しています:1)ステージングサーバーに実稼働データベースの元のコピーを保持し、常にビューのインデックスを再作成します2)インデックスを含むすべてのdbファイルを別の名前のdbにコピーします3)使用終わったら吹き飛ばします。

誰かがこのようなことを試したことがありますか?dbファイルのコピーと名前の変更はスムーズに機能しますか? もしそうなら、どのファイルをコピーする必要がありますか?

4

1 に答える 1

2

あなたのアプローチは私が推奨するものです。DB およびインデックス ファイルを新しい名前にコピーすると、期待どおりに機能します。

and/_config/couchdbの値を確認してからdatabase_dirview_index_dir

cd $database_dir
cp live_replica.couch local_copy_to_mess_with.couch

cd $view_index_dir # most likely the same dir
cp -r .live_replica_design .local_copy_to_mess_with_design

これらのディレクトリ内の他のすべてのファイルの所有者としてこれらのコマンドを実行してくださいcouchbase。で正しい所有者とグループを確認できますls -alR

于 2011-08-01T18:38:30.633 に答える