この質問を投稿しているのは、オンラインストアのすべての側面を管理したい人にとって最適な開発ワークフローが何かを知りたいからです。
もちろん、すべてのWeb開発と同様に、ソフトウェアソリューション全体のライブコピーと少なくとも1つの開発コピーを保持することは、もちろん非常に重要です。ただし、Magentoの管理は、他の「ファイルベース」ソフトウェアの管理とは異なります。データベースコンポーネントが存在するため、ソース管理用のVCSツールとしてGitのようなツールを使用できるという事実に加えて、ライブバージョンと開発バージョンのデータベースの違いを管理しますか?
もちろん、cronを使用してライブデータベースのバックアップを作成し、バックアップからSQL INSERTステートメントをソース管理に挿入できますが、その後、顧客がライブデータベースに登録して注文する一方で、2つのデータベースが個別に進化します。開発データベースは個別に更新されるため。開発バージョンとライブバージョンのマージに関しては、phpファイルはgitで問題なく更新できます(データベース構成の詳細をホストする単一ファイルでgitignoreを使用します)が、データベースファイルはどうですか?災害を引き起こしたりシステムを破壊したりすることなく、2つのバックアップからINSERT SQLステートメントを含む2つのファイルをマージするにはどうすればよいですか?
これは、私が直面しているMagento開発ライフサイクルの日陰の領域です。データベースの違いを管理します。
Magentoストアの開発/テストバージョンとライブバージョンとで異なるデータベースコンテンツを同期する唯一の解決策は、Magento管理パネルを介して開発バージョンで行われたすべての変更を紙に書き留めることであるように思えます。そして、ミスをしないことを望みます。そして、すべてがテストされ、ファイルが動作したら、Magentoがオフラインになり、メンテナンスモードになっている間に、ライブバージョンに移動してまったく同じ変更を実行します。これは手動プロセスであるため、エラーが発生しやすいです。
それでは、テストmagentoサーバーとライブmagentoサーバー間のデータベース同期を処理するより良い方法は何ですか?
ありがとう。