Magento開発ワークフロー:データベースを「ソース管理」し、MagentoインストールをTest magentoインストールから更新する方法


17

この質問を投稿しているのは、オンラインストアのすべての側面を管理したい人にとって最適な開発ワークフローが何かを知りたいからです。

もちろん、すべてのWeb開発と同様に、ソフトウェアソリューション全体のライブコピーと少なくとも1つの開発コピーを保持することは、もちろん非常に重要です。ただし、Magentoの管理は、他の「ファイルベース」ソフトウェアの管理とは異なります。データベースコンポーネントが存在するため、ソース管理用のVCSツールとしてGitのようなツールを使用できるという事実に加えて、ライブバージョンと開発バージョンのデータベースの違いを管理しますか?

もちろん、cronを使用してライブデータベースのバックアップを作成し、バックアップからSQL INSERTステートメントをソース管理に挿入できますが、その後、顧客がライブデータベースに登録して注文する一方で、2つのデータベースが個別に進化します。開発データベースは個別に更新されるため。開発バージョンとライブバージョンのマージに関しては、phpファイルはgitで問題なく更新できます(データベース構成の詳細をホストする単一ファイルでgitignoreを使用します)が、データベースファイルはどうですか?災害を引き起こしたりシステムを破壊したりすることなく、2つのバックアップからINSERT SQLステートメントを含む2つのファイルをマージするにはどうすればよいですか?

これは、私が直面しているMagento開発ライフサイクルの日陰の領域です。データベースの違いを管理します。

Magentoストアの開発/テストバージョンとライブバージョンとで異なるデータベースコンテンツを同期する唯一の解決策は、Magento管理パネルを介して開発バージョンで行われたすべての変更を紙に書き留めることであるように思えます。そして、ミスをしないことを望みます。そして、すべてがテストされ、ファイルが動作したら、Magentoがオフラインになり、メンテナンスモードになっている間に、ライブバージョンに移動してまったく同じ変更を実行します。これは手動プロセスであるため、エラーが発生しやすいです。

それでは、テストmagentoサーバーとライブmagentoサーバー間のデータベース同期を処理するより良い方法は何ですか?

ありがとう。


回答:


3

私が知っているオプション

1.)手動-言い換えると、バックエンドで手動でアクションを繰り返す=前述のとおり、エラーが発生しやすい、遅い

2.)直接SQLクエリを使用したデータベースレベル=エラーが発生しやすい

3.)SQLセットアップ/アップグレードスクリプトを使用して追加、変更を行う拡張機能を作成します。これらのファイルはリポジトリの一部であり、展開できます。このアプローチは、主にUIをバイパスします。

4.)があるようなプロジェクトでは、このワークフローのいくつかは、より快適にしようとする際に起こっていくつかの作業となっているこの、私はそれがまだプライムタイムのためにかなり準備ができていないと思います。

これらすべてのオプションの中で、私は現在3を支持しています。


ええ、私も3を支持します。誰がしません。ただし、3は唯一の実際のオプションであり、まだ安定していないため、すべての提案をバイパスし、ローカルサーバーでUIがどのように機能するかを理解するためにテストを行い、すべての製品カタログを実行します。製品やその他の更新をライブサーバーで直接実行し、しばらくオフラインにするか、準備ができたときに製品をアクティブにするように注意してください。とにかく注意する必要があります。とにかく1と2のうち、おそらく最小のダメージを与えることができます。Thx
ジョンソンダーソン

3.)安定していて、繰り返し可能で、ファイルベースです-欠点は、セットアップにさらに作業が必要です。
クリストフフーマンで13年


1

Quest Software(現在のDell)のToad for MySQLなどのデータベースツールがあります。このデータベース管理ツールには、2つのデータベース間の変更を表示するために使用できるデータと構造の比較機能があります。比較したいデータベースバージョンのバックアップ(またはgitコミット)を保持するだけです。2つを同期させるためのスクリプトジェネレーターもあります。


1

ローカルおよびステージング開発用のリモートDBを作成して読み取り/書き込みを行うことで、この問題を解決しました。時間と効率の向上に本当に役立ちます。クローン作成が不要になり、DBを全員の環境にアップロードします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.