Magentoで開発から本番へのDBの変更をデプロイする方法


9

モジュールには、DBを開発から本番に移植できるようにするためのインストールスクリプトとデータセットアップスクリプトがあることを知っています。

しかし、私たちのケースでは、開発DBに格納される管理インターフェイスを介して属性と製品を追加するUI開発者がいます。

リリース日には、面倒で時間がかかるため、開発環境で行ったすべての手順を繰り返すことはできません。

デプロイ時にこのようなDBの変更を処理する方法はありますか?

とりあえず、開発DBと製品DBの間で差分を実行し、リリース日に実行されるSQLを生成しています。ただし、開発用DBにはテストトランザクションデータが含まれる可能性があり、SQLにトランザクションテーブルを変更するステートメントがある場合、トランザクションテーブルをprodでロックしてしまう可能性があるため、これは少し危険です。

これに関するベストプラクティスはありますか?事前に助けてくれてありがとう

回答:


8

環境間でデータを移行するためのさまざまな拡張機能がありますが、それらを使用すると、自分の足を踏みにじることになります。何か問題が発生した場合でも、本番環境を台無しにしたくはありません。

データを移行する唯一の正しい方法は、セットアップスクリプトを使用することです。

また、現在の状況を反映した新しい環境(チームの新しい魚など)をセットアップすることもできます。

ところで良い質問です。


Magento Connectの一部のモジュールは、セットアップスクリプトを最初から実行することに関して必ずしも完全に互換性があるとは限らないことを個人的に発見しました。何が起こったのかを正確に把握する必要がありますが、ストアのセットアップは、空のデータベースから開始すると、インストールスクリプトが互いに競合し、ストアが空のデータベースをブートストラップできない状態になっています。最初からやり直すには、モジュールを1つずつ順番に適用する必要があります。または、私たちが記述していないソフトウェアのバグを修正します。
2015

Magento管理パネルから加えた変更をスクリプトにどのように反映しますか?たとえば、属性や製品を追加したり、拡張機能の設定を変更したりしますか?
Andrea

1
@AndreaあなたはMagento管理パネルで変更をしないだけです。セットアップスクリプトによるすべて。もちろん、場合によっては、何かを試したい場合、まだ最終的にはadminで何かを変更する場合もありますが、この場合、これらの変更を元に戻して、セットアップスクリプトを介してもう一度適用する必要があります。
user487772 2016

参考までに。ほとんどの変更でセットアップスクリプトを使用することになりました。さいわい、UI開発者は、コツをつかんだセットアップスクリプトを実行することを気にしませんでした。新しいセットアップスクリプトを作成するためのチケットを作成して、開発者に割り当てることもできます。また、magentoのCMS機能を使用するマーケティングチームもあります。開発環境でこれらの変更を行う代わりに、本番環境でこれらの変更を直接行うよう依頼しました。CMS機能へのアクセスのみを許可するCMSロールを追加しました。次に、カスタムスクリプトを使用して、CMSの変更をProdからStage、次にQAおよびDevに公開することがあります。
Jeetendra Pujari 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.