Ta sprawa jest dość skomplikowana, ponieważ jak łatwo się domyślić masz na pewno w obu bazach danych (w bazie zapasowej i aktualnej) ten sam identyfikator zamówienia dla różnych zamówień. Po złożeniu zamówienia wypełnia on tabele bazy danych "post", "postmeta" (i może kilka dodatkowych tabel związanych z woocommerce, które stworzyły niektóre wtyczki wooCommerce).
POZYSKIWANIE BRAKUJĄCYCH DANYCH:
Najpierw w „post” kopii zapasowej tabela, w której musisz znaleźć wszystkie „post_id” z shop_order „post_type”, począwszy od określonej daty :SELECT * FROM 'posts' WHERE 'post_date' > '2016-03-15 00:00:00' AND 'post_type' LIKE 'shop_order' ORDER BY 'post_id' ASC
(musisz tutaj ustawić poprawną datę i godzinę rozpoczęcia)
Z tymi wszystkimi post_id masz zamiar pobrać wszystkie powiązane dane z tabeli „postmeta”:SELECT * FROM 'postmeta' WHERE 'post_id' > 2059 ORDER BY 'meta_id' ASC
(musisz zastąpić post_id „2059” przez odpowiadającą ci rzeczywistą… )
PRZYGOTOWANIE NOWYCH DANYCH DO WSTAWIENIA:
W przypadku tabeli "posts" będziesz musiał przesunąć wszystkie różne numery identyfikatorów dla "post_id", przed wstawieniem ich do aktualnej bazy danych, z nowymi, nieistniejącymi jeszcze wartościami, w zależności od identyfikatorów już używanych przez aktualną bazę danych.
W przypadku tabeli „postmeta” będziesz musiał zastąpić wszystkie stare „post_id” nowymi wartościami właśnie wygenerowanymi w tabeli „posts”.
Będziesz musiał przełączyć swój sklep w tryb konserwacji, aby uniknąć nowych zamówień (na przykład dzięki bezpłatnemu Tryb konserwacji wtyczka)
Musisz być przyzwyczajony do MySQL i myślę, że lepiej przetestować wszystko w zduplikowanej wersji swojego sklepu internetowego. Twórz kopie zapasowe przed…
Pozdrawiam