確かに両方のデータベース(バックアップデータベースと実際のデータベース)に異なる注文の同じ注文IDがあるため、このケースは非常に複雑です。注文が行われると、データベーステーブル「post」、「postmeta」にデータが入力されます。 (そして、いくつかのwooCommerceプラグインが作成したwoocommerceに関連するいくつかの追加のテーブル)
欠落データの取得:
最初の「投稿」バックアップ shop_orderですべての「post_id」を検索する必要があるテーブル 「post_type」、特定の日付から開始:
SELECT * FROM 'posts' WHERE 'post_date' > '2016-03-15 00:00:00' AND 'post_type' LIKE 'shop_order' ORDER BY 'post_id' ASC
(ここで正しい開始日時を設定する必要があります)
これらすべてのpost_id 「postmeta」テーブル内のすべての関連データを取得します。SELECT * FROM 'postmeta' WHERE 'post_id' > 2059 ORDER BY 'meta_id' ASC
( post_idを置き換える必要があります 対応する本物の「2059」…)
挿入する新しいデータの準備:
「posts」テーブルの場合、実際のデータベースに挿入する前に、「post_id」のすべての異なるID番号をシフトする必要があります。実際のデータベースですでに使用されているIDに応じて、新しい存在しないまだ値があります。
「postmeta」テーブルの場合、すべての古い「post_id」を「posts」テーブルで生成されたばかりの新しい値に置き換える必要があります。
新規注文を避けるために、ショップをメンテナンスモードにする必要があります(たとえば、この無料のメンテナンスモード プラグイン)
あなたはMySQLに慣れている必要があり、私はあなたのウェブショップの複製されたバージョンですべてをテストする方が良いと思います。 前にバックアップを作成する…
よろしく