私は MongoDB を約 1 年間使用していますが、その可能性はほとんどありません。
私は自分以外の誰の目にも触れずに、新しいソフトウェアを開発してきました。また、データベースの柔軟性を最大限に活用し、データの構造をその場で大幅に変更しました。
現在、実稼働サーバーと 3 つの開発サーバーがある時点で、データ構造の変更とそれらの同期に大きな問題があります。
理論的には、開発サーバーには常に本番環境の最新データが必要です。構造化データベースでは、何かの名前を変更した場合、比較ツールを実行するだけで、プル後に本番環境で対応する変更を行うことができます。MongoDB では、これは非常に困難になる可能性があります。ドキュメントからドキュメントへの変更は数百に上る可能性があり、データベースからデータベースへの変更ははるかに少ない可能性があります。
~/.dbshell
自分が行った変更の感触を得るためにファイルを見直してきましたが、プログラム自体で行われた変更はどうですか? 構成データベースの変更?
これを簡単にするためのツールや手順はありますか?
Google で他の人がどのように行っているかを調査するのに何時間も費やしました。Mongeez に出くわしましたが、必要以上に手動で退屈です。以前は、git ディレクトリ内でmongodump
andを実行してmongorestore
データを転送していましたが、これらのスナップショットは硬直的すぎます。本番環境から開発環境への新しいデータの移動に関するブログ記事をいくつか読みましたが、本番環境での開発ドキュメントの更新については何も知りませんでした。比較スクリプトを書くこともできますが、これは車輪の再発明のような気がします。もっと良い方法があるはずです。
TL;DR: NoSQL データ、新しいエントリ、および変更されたデータを環境間でバージョン管理する方法にはどのようなものがありますか?