2011-12-27 7 views
5

「Magento認定開発者向けスタディガイド」に記載されている「Database」セクションの下に記載されている項目の1つが「Write downgrade(rollback)スクリプト」です。Magentoはモジュールのダウングレード/ロールバックスクリプトをサポートしていますか?

ダウングレードスクリプトがサポートされているかどうかを調べていますが、そうではないようです。今年初めからこのthreadが見つかったため、その時点でダウングレードスクリプトがサポートされていないと判断されたようです。

また、googleで検索したところ、articleでは、コアのロールバックスクリプトの初期サポートのように思われるものが見つかりました。

私はapp/code/core/Mageで "rollback"と "downgrade"を探していましたが、DBトランザクションのロールバックに関連するコードがほとんどでした。

学習ガイドがサポートされていない場合、なぜこれについて話すのですか?私は何かを欠いているに違いない。

答えて

5

現在のバージョンのMagentoにはロールバックデータベース移行スクリプトの実装がありません。ロールバックとは、モジュールのバージョン番号が減少し、適切なスクリプトが実行されていることを確認することです。

覚えておいてください、学習ガイドではなく、マニュアルです。

現在のバージョンのMagentoでは正式なロールバックはサポートされていませんが、Magento開発者は前回のモジュールのアップグレードでデータベースの変更をロールバックする必要があります。私はそのシナリオを説明する質問の準備ができていて、既存のMagento機能についての知識をテストする答えがあります。

+2

これは事実です。 – benmarks

+0

ありがとうアラン、確かに理にかなっています。爆破された学習ガイドは私を地図の上に全部持っています。本当によく書かれています。私はあなたの歯を沈めるのに十分なものを与えてくれると思っていますが、文字通りすべてのことをあなたに与えているわけではないので、まだ練習と掘り出しがかなり必要です。 私の次の質問は、Magentoがバージョン番号の低下を検出したイベントにフックする方法です。ただそのクラスを上書きするだけではありませんが、その質問を投稿する前にもっと掘り下げます。 – kalenjordan

0

ここにあります: Mage_Core_Model_Resource_Setup::applyUpdates()少なくとも、Magento 1.3よりご利用いただけます。

+1

しかし、それを_modifyResourceDb()にトレースすると、TYPE_DB_ROLLBACK $ actionTypeがサポートされていないようですね。 switchステートメントから抜けているだけです。 サンプルのロールバックスクリプトをどこかに置くことはありませんか?それとも、セットアップスクリプトからプログラムステップで設定を元に戻すだけですか? – kalenjordan

+1

ああ、そうです。 '_modifyResourceDb'メソッドから、ロールバックとアンインストールが機能しないことがわかった場合: – vsushkov

+0

しかし、ロールバックとアンインストールをサポートする独自のセットアップクラスを書くことができます(' Mage_Core_Model_Resource_Setup :: applyAllUpdates() '、' $ setupClass = new $ className($ resName); ') – vsushkov

関連する問題