0

magentocommerce でホストされている拡張機能の現在のバージョンは です。v1.0.0現在、インストール スクリプトの名前はmysql4-install-1.0.phpです。注意だけ1.0ではありません1.0.0

今、小さなバグ修正をリリースしようv1.0.1としています。また、アップグレード スクリプトの新しい命名法に切り替えることも考えています。

名前を変更mysql4-install-1.0.phpしてから、新しいディレクトリの下mymodule_setup/install-1.0.0.phpに追加する必要がありますか?upgrade-1.0.0-1.0.1.phpmymodule_setup

それを使用して古いインストールを中断せずに移行するにはどうすればよいですか?

4

2 に答える 2

1

残念ながら、ファイルの名前をinstall-1.0.0.phpに変更すると、スクリプトが再度実行されます。すべてのバージョンチェックは、phpのversion_compare()関数を介して実行されます。これが意味するのは、1<1.0<1.0.0ということです。

インストールファイルはそのままにして、アップグレードスクリプトをupgrade-1.0-1.0.1.phpにします。

インストールファイルを同じままにしておくと、次のファイルが作成され、再実行ファイルはありません。

mysql4-install-1.0.php
upgrade-1.0-1.0.1.php

(and in the future):
upgrade-1.0.1-1.0.2.php

インストールファイルに戻って名前を変更したり、現在のインスタンスで動作している場合はとにかくそれらを調整したりする本当の理由はありません。

他のすべてが失敗した場合は、コードベースを参照して何が起こっているのかを把握してください。ファイルを参照してください:/app/code/core/Mage/Core/Model/Resource/Setup.php

于 2013-01-10T00:49:27.530 に答える
0

ファイルの名前を変更するかどうかは問題ではないと思います。名前を変更し、ショップが 1.0(.0) で実行されている場合、インストール スクリプトは実行されません。まだインストールされていない場合は実行されます。どちらでもOKです。

install-1.0.0 と install-1.0 は同じではありませんが、拡張機能がインストールされている場合、2 番目のインストール スクリプトは実行されません ;-)

古いファイルの名前を変更する場合は、2 つのアップグレード スクリプトを追加する必要があります。

upgrade-1.0-1.0.1.php

upgrade-1.0.0-1.0.1.php

よくわかりませんが、これは私が期待する方法です。

于 2013-01-10T00:07:28.947 に答える