sql >> データベース >  >> RDS >> Mysql

woocommerceの注文を復元する

    確かに両方のデータベース(バックアップデータベースと実際のデータベース)に異なる注文の同じ注文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に慣れている必要があり、私はあなたのウェブショップの複製されたバージョンですべてをテストする方が良いと思います。 前にバックアップを作成する…

    よろしく




    1. PHP mySQL-主キーの自動インクリメントを使用して、新しいレコードをテーブルに挿入します

    2. Oracleでテーブル構造を変更するにはどうすればよいですか?

    3. 1行にデータを表示(複数行から)

    4. Oracle 12cでCLOBとして格納されているJSON配列の要素数を取得するにはどうすればよいですか?