3

最近、Magento ストアを 1.4.2 から 1.7 にアップグレードしました。

オンライン ストアがまだ実行されていたため、ローカル マシンでこのアップグレードを行いました。その結果、ローカル データベースを 1.7 にアップグレードしているときに、顧客がオンライン データベースで注文していました。

ここで、バックオフィスで注文が失われないように、両方のデータベースからの注文をマージする必要があります。

いくつかの拡張機能を調べましたが、すべて有料です。

1 回しか使用しない拡張機能に料金を支払うことなく、これを実現するにはどうすればよいですか?

4

1 に答える 1

0

これはSQLで実現できると思います。

注文データは、接頭辞「sales_flat」が付いたテーブルにあります。必要なのは、古いデータベースからの注文を、新しいデータベースに存在しない新しいデータベースにマージすることです。

問題は、新しいデータベースの新しい注文が古いデータベースの注文と同じIDを持っている可能性があることです。

私は(スケッチとして)次のようなことをすると思います:

->sales_flat_orderテーブルから必要な注文を取得します。それらのデータを、支払いデータのsales_flat_paymentやアイテムデータのsales_flat_itemなど、他のsales_flatテーブルのデータと結合する必要があります。ただし、正しい順序でインポートしないとキー制約エラーが発生する可能性があるため、これは後で行うことができます。
->注文の有効なentity_idsとincrement_idsを決定して、新しいデータベースの注文と重複しないようにします
->新しいデータベースに注文をインポートします(sql import)これがsales_flat_orderに対して行われた後、他のデータベースに対してこれを行うことができますsales_flatテーブル。

これで、インポートする必要があります。他のモジュールに保存されている注文情報は利用できないことに注意してください(たとえば、mage_reportモジュールはいくつかの統計情報を保存します)が、重要な情報はこの方法でマージされると思います。

于 2012-12-03T12:35:57.687 に答える