[ECCUBE4] 4.0.3へのアップデートでハマった罠

もともと4.0.2でスタートしていた開発中のサイトを、先日リリースされた4.0.3にアップデートすることになりました

アップデートの手順は開発ドキュメントを参考にしました

ところが・・・

アップデートした後動かしてみると、カートから先でエラーが発生!
その内容は 「Attempted to call an undefined method named “setTaxAdjust” of class “Eccube\Entity\OrderItem”.」というものでした

カスタマイズしたどこかが悪さしているのか、導入したプラグインのどれかが悪いのか・・・?
とにかく原因を調べてみることに

まずはなんせEccube\Entity\OrderItemでエラーというのだからとsrc/Eccube/Entity/OrderItem.php を見てみると、おや、ちゃんとsetTexAdjustあるぢゃん
あるのにどうして・・・?
そうかproxyか!
ということで app/proxy/entity/src/Eccube/Entity/OrderItem.php を見ると確かにsetTexAdjustが存在していません

こんな場所いじってないのにどうしてだ・・・?
ともかくproxyを再構築してみよう、と開発ドキュメントの手順をおさらいしていると

プロキシファイルを削除

rm -f app/proxy/entity/*.php

プロキシの再生成

ん? おい、ちょっとまて!

これじゃあ元のプロキシ削除できてないよね?
ここでアップデートしくじっていたのかー

rm -f app/proxy/entity/src/Eccube/Entity/*.php

上記のようにして削除することで、そのあとのプロキシ再生成もちゃんとできるようになりました

公式ドキュメント信じて、何も考えず言われたまんま打ち込んでるだけじゃ駄目だね・・・
でもきっと他にもハマる人いると思うな
ドキュメントの間違い報告って受け付けてるんだろうか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です