2

Magentoの更新は本当に難しいようです:)

私はmagento 1.4.1.1を持っていて、それを最新のmagento 1.4.2に更新したいです。

私はこのガイドに従います: マジェント 1.4 1.1 を 1.7.0.2 にアップグレードする方法

私がもちろん行うこと: - キャッシュを無効にしてクリアする - セッションをクリアする - 更新前にすべての拡張機能を無効にする - バックアップ バックアップ バックアップ :D

1.4.1.1 から 1.4.2 に更新すると、メインページがトリガーされ、mysql が変更されます。ここから問題が始まります。

次のエラーが表示されます。

a:5:{i:0;s:435:"Error in file: "/var/www/vhosts/dev/docs/app/code/core/Mage/Sales/sql/sales_setup/mysql4-upgrade-1.4.0.20-1.4.0.21.php" - SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`dev`.<result 2 when explaining filename '#sql-20eb_3d66'>, CONSTRAINT `FK_PRODUCT_ORDERED_AGGREGATED_MONTHLY_PRODUCT_ID` FOREIGN KEY (`product_id`) REFERENCES `catalog_product_entity` (`entit)";i:1;s:974:"#0 /var/www/vhosts/dev/docs/app/code/core/Mage/Core/Model/Resource/Setup.php(390): Mage::exception('Mage_Core', 'Error in file: ...')

また、1.7 に直接アップグレードしようとしましたが、他の多くの同様のエラーが発生しました。もちろん、問題を引き起こすすべての部分をコメントアウトすることもできますが、それは賢明ではないと思います:)

これらのエラーを回避/修正する方法を知っていますか?

どうもありがとうございました :)

あいさつ

4

3 に答える 3

2

はい、Magento のアップグレードは決してスムーズではありません。

この特定の問題を診断するには、型を比較す​​る必要がありますsales_bestsellers_aggregated_monthlyproduct_idcatalog_product_entityentity_id田畑。

この問題の原因の詳細と、このテーマに特化した私の記事で解決策を見つけることができます.

日本語:サードパーティの拡張機能が Magento のアップグレードを台無しにする方法

Auf Deutsch: Wie Externe Extensions Dein Magento-Upgrade Ruinieren Können

于 2012-12-02T21:40:34.787 に答える
0

データベースのバックアップを作成していて、プロセスを再開できる場合は、別の方法をお勧めしますが、ここでは 1.7 よりも 1.6 よりも 1.5​​ に移行する必要があります。

まず、ホスティング プロバイダーから SSH アクセスを取得し、SSH プロトコル経由でサーバーに接続する必要があります。それで、

1 – lib/pear フォルダーのパーミッションを (再帰的に) 書き込み可能に変更します: chmod -R 777 lib/PEAR

2 – 次のコマンドを実行して、Magento のアップグレードを準備します: ./pear mage-setup

ほとんどの場合、コマンドの実行後に次の結果が表示されます。 Channel “connect.magentocommerce.com/core” is already initialized Magento 1.4.1.x から Magento 1.4.2.0 にアップグレードする Magento ストアを 1.5 にアップグレードする場合でも、この手順が必要または 1.6 バージョン。

3 – Magento アップグレード コマンドを実行します: ./pear upgrade -f magento-core/Mage_All_Latest-stable コマンドの出力は、どのコア パッケージがアップグレードされたかを示します: 1.4.2.0

4 – アップグレードのこの部分が完了したら、次のコマンドを入力します: chmod 550 ./mage ./mage mage-setup . コマンド実行後、次の結果が表示されます: 正常に追加されました: connect20.magentocommerce.com/community これは、Magento connect 2.0 チャネルがチャネル リストに正常に追加されたことを意味します。

5 – 次に、次のコマンドを入力します: ./mage sync ここに表示されるはずです:: … 正常に追加されました: community/Mage_Locale_en_US-1.4.2.0

正常に追加されました: community/Interface_Install_Default-1.4.2.0

正常に追加されました: community/Phoenix_Moneybookers-1.2.3

正常に追加されました: community/Mage_Downloader-1.5.0.0

正常に追加されました: community/Lib_Google_Checkout-1.4.2.0

Magento 1.4.2.0 へのアップグレードが完了し、Magento 1.5.1.0 または 1.6.0.0 へのアップグレードに進むことができます。Magento アップグレードのこの部分に進む前に、Magento アップグレード スクリプトがストアをアップグレードするバージョンを確認することが非常に重要です。これを確認するには、次のコマンドを入力します: ./mage list-upgrades この結果が表示される場合:

コミュニティの更新:

Mage_All_Latest: 1.4.2.1 => 1.6.0.0

Lib_Js_Mage: 1.4.2.0 => 1.6.0.0

Lib_Varien: 1.4.2.0 => 1.6.0.0

Lib_Phpseclib: 1.4.2.0 => 1.5.0.0

これは、Magento がバージョン 1.6.0.0 にアップグレードされることを意味します。必要なものでない場合は、アップグレード チャネルを「安定版」に変更し、Magento をバージョン 1.5.1.0 にアップグレードできます。

6 – 次のコマンドを入力して、アップグレード チャネルを安定版に変更します。

Mage_All_Latest: 1.4.2.1 => 1.5.1.0.1

Lib_Js_Mage: 1.4.2.0 => 1.5.1.0

Lib_Varien: 1.4.2.0 => 1.5.1.0

Lib_Phpseclib: 1.4.2.0 => 1.5.0.0

Mage_Core_Adminhtml: 1.4.2.0 => 1.5.1.0

Mage_Core_Modules: 1.4.2.0 => 1.5.1.0

7 – チャンネルを選択したら、次のコマンドを使用して Magento を 1.5.1.0 (または Magento 1.6.0.0) にアップグレードできます: ./mage upgrade-all –force

画面にアップグレードされたパッケージが表示されます。

… アップグレードされたパッケージ: community/Mage_Locale_en_US 1.6.0.0

パッケージのアップグレード: community/Lib_Mage 1.6.0.0

パッケージのアップグレード: community/Lib_ZF 1.11.1.0

パッケージのアップグレード: community/Lib_Js_Prototype 1.7.0.0.1

パッケージのアップグレード: community/Lib_ZF_Locale 1.11.1.0

これでアップグレードは完了です。すべてが正しくアップグレードされていれば、ブラウザにアップグレードされたストアが表示されます。管理パネルで、ストアのバージョンを確認できます。

Magento バージョンの新規インストールを行った場合、数日または数週間かかるため、手動でデータ転送を行うことはありません。データベースを 1.4 から新しい Magento 1.7 に直接移行するためにできることは、自動サービスを使用できます。

于 2012-12-28T12:43:37.693 に答える