Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przywróć zamówienia woocommerce

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pymssql.OperationalError:komunikat o błędzie DB-Lib 20009, ważność 9

  2. Sprawdź poprawną nazwę kolumny SQL

  3. Zapytanie, aby uzyskać wszystkie wiersze z poprzedniego miesiąca

  4. Zaćmienie brakujących połączeń z bazą danych

  5. Automatyczne lub regularne tworzenie kopii zapasowych danych mysql