Tovább a tartalomhoz

EDD-átvitel WP-CLI-vel

Az Easy Digital Downloads áruház átvitele parancssorból: kapcsolók, munkafolyamatok, segédparancsok, folytatás és memóriabeállítások.

Több ezer rendelésű boltnál a WP-CLI gyorsabb az admin varázslónál, és teljesen kiküszöböli a böngésző-időtúllépést. Ugyanaz a motor hajtja mindkét felületet, ezért az eredmény azonos, csak a kezelőfelület más.

  • A boltodban néhány ezernél több rendelés van.
  • Megosztott tárhelyen futsz szigorú PHP-időtúllépéssel.
  • Az átvitelt egy telepítési folyamat részeként szkriptelni szeretnéd.
  • A böngésző nagy adatmennyiségnél futás közben folyton megszakad.
  • Tesztkörnyezetben SSH-n át dolgozol, admin felület nélkül.

Kis és közepes boltnál, vagy nem műszaki felhasználónak a varázsló a jobb választás.

A varázsló beállítóképernyője egy WP-CLI (nagy boltokhoz ajánlott) panelen mutatja a leggyakoribb parancsokat.

Minden átviteli munka egyetlen, névtérrel ellátott parancson megy át, szakaszonként külön kapcsolóval:

Terminál
wp fluent_cart_migrator migrate_from_edd [kapcsoló]
Kapcsoló Mit csinál
--all A teljes folyamat sorban: termékek, adókulcsok, kuponok, fizetések, újraszámolás. A kihagyott vagy megszakadt lépéseket folytatja.
--products Az EDD-letöltések átvitele FluentCart-termékekké. Újakat hoz létre, a meglévőket az azonosítótérkép alapján frissíti.
--tax_rates Az EDD adóbeállításainak átvitele és FluentCart-adókulcsok létrehozása. Automatikusan kimarad, ha az EDD-ben az adó ki van kapcsolva.
--coupons Az EDD-kedvezménykódok átvitele FluentCart-kuponokká. Kód alapján frissít, ha van egyezés, különben beszúr.
--payments Az EDD-rendelések, tranzakciók, előfizetések és licencek átvitele. Oldalanként 1000 rendelés kötegekben dolgozik, az utolsó oldalt elmenti a folytatáshoz.
--recount Az átvitel utáni statisztikák újraszámolása: élettartam-érték, átlagos rendelési érték, vásárlói vásárlásszámok, előfizetések számlázásszámai, hiányzó UUID-k.
--stats Az átvitel előtti statisztikák a forrásáruházról. Adatot nem visz át.
--verify_license Az EDD- és a FluentCart-licencek összevetése az átvitel után. Jelzi a hiányzó licenceket és az állapoteltéréseket.
--log A sikertelen fizetések naplójának (_fluent_edd_failed_payment_logs) megjelenítése.
--reset Az átvitt adatok törlése és az átviteli állapot törlése. Fejlesztői mód kell hozzá.
Terminál
wp fluent_cart_migrator migrate_from_edd --all

Minden szakaszt sorban lefuttat. Ha egy szakasz korábban elkészült, automatikusan kihagyja. Ha az előző futás a fizetéseknél szakadt meg, az utolsó feldolgozott oldaltól folytatja.

Több ellenőrzésre van lehetőséged, ha minden szakaszt külön futtatsz. Hasznos, ha a szakaszok között meg szeretnéd nézni az eredményt, vagy egy szakasz különleges kezelést igényel.

Terminál
wp fluent_cart_migrator migrate_from_edd --products
wp fluent_cart_migrator migrate_from_edd --tax_rates
wp fluent_cart_migrator migrate_from_edd --coupons
wp fluent_cart_migrator migrate_from_edd --payments
wp fluent_cart_migrator migrate_from_edd --recount

A sorrend számít. A termékeknek létezniük kell, mielőtt a fizetések hivatkozhatnak rájuk. Az újraszámolás legyen az utolsó szakasz.

Mielőtt bármit átvinnél, nézd meg, mi van a forrásáruházban:

Terminál
wp fluent_cart_migrator migrate_from_edd --stats

Kiírja a termékek, rendelések, tranzakciók, vásárlók, előfizetések és licencek számát, a talált átjárókat és az adataidban előforduló rendelésállapotokat. Semmihez nem nyúl.

Ha egyes rendelések az átvitel során elbuktak (sérült rekord, hiányzó vásárlóhivatkozás, hibás rendelési tétel), a Migrator rögzíti őket, és nem állítja le az egész futást. Megtekintésük:

Terminál
wp fluent_cart_migrator migrate_from_edd --log

Minden bejegyzés mutatja az EDD-rendelés azonosítóját, a hibaüzenetet, a hiba típusát és azt a szakaszt, ahol elbukott. Ebből indulhat a további vizsgálat.

Az EDD Software Licensinget is érintő átvitel után futtasd:

Terminál
wp fluent_cart_migrator migrate_from_edd --verify_license

Összeveti az EDD-licencrekordokat a FluentCart-licencrekordokkal, és jelzi a hiányzókat és az állapoteltéréseket. Az EDD kikapcsolása előtt futtasd le.

A fő migrate_from_edd parancson túl a Migrator segédprogramokat ad a takarításhoz és a fejlesztői munkához.

Az EDD-adatok eltávolítása az átvitel után

Szekció neve “Az EDD-adatok eltávolítása az átvitel után”

Ha az átvitelt ellenőrizted, és az EDD maradványait el szeretnéd távolítani az adatbázisból:

Terminál
wp fluent_cart_migrator edd_cleanup

Törli az EDD bejegyzéstípusait (edd_advanced_report, edd_discount, edd_license_log, edd_log, edd_payment), az árván maradt bejegyzés- és hozzászólás-metaadatot, valamint a download_category és edd_log_type taxonómiát. Futtatás előtt megerősítést kér.

Csak teljes ellenőrzés után takaríts. Ne futtasd az edd_cleanup parancsot, amíg alaposan nem ellenőrizted az átvitelt, és a vásárlók, előfizetések és licencek nem működnek helyesen a FluentCartban. Az eredeti EDD-rekordok a tartalékod, ha valamit egyeztetni kell.

Folyamat visszaállítása és a séma frissítése (fejlesztőknek)

Szekció neve “Folyamat visszaállítása és a séma frissítése (fejlesztőknek)”
Terminál
wp fluent_cart_migrator migrate_fresh

Törli az összes átviteli folyamatbeállítást, frissíti a FluentCart adatbázissémáját, törli az átvitt FluentCart-termékeket, és eltávolítja az átviteli metaadatot az EDD-bejegyzésekről. Tesztkörnyezetben hasznos, ha a teljes átvitelt elölről szeretnéd futtatni.

Ehhez a fejlesztői mód kell.

Az átvitt adatok visszaállítása (fejlesztőknek)

Szekció neve “Az átvitt adatok visszaállítása (fejlesztőknek)”
Terminál
wp fluent_cart_migrator reset

Törli az átvitt adatokat és az átviteli állapotot. Valamivel enyhébb a migrate_fresh-nél: nem frissíti a sémát. Futtatás előtt megerősítést kér.

Ehhez is a fejlesztői mód kell.

Terminál
wp fluent_cart_migrator fix_subs_uuid

Önálló segédprogram, amely pótolja az előfizetési rekordok hiányzó UUID-it. A régebbi EDD-telepítésekből átvitt előfizetésekből néha hiányzik az UUID, ezt md5(id + uuid4 + microtime) értékkel tölti fel, hogy a FluentCart többi része megbízhatóan hivatkozhasson rájuk.

A CLI teljesen folytatható. Az állapot minden elkészült lépés után a __fluent_cart_edd3_migration_steps beállításba kerül.

  • Szakaszszintű folytatás: az --all újrafuttatása kihagyja a kész szakaszokat.
  • Oldalszintű folytatás a fizetéseknél: a fizetések átvitele elmenti a last_order_page értékét, az újrafuttatás a következő kötegtől folytatja.
  • Az egyes szakaszok idempotens újrafuttatása: a --products az azonosítótérkép alapján frissíti a már átvitt termékeket, a --coupons kód alapján frissíti a meglévő kuponokat, a --recount mindig az aktuális adatokból számol újra, soha nem növel.

Ezért nyugodtan megszakíthatsz egy hosszú futást a Ctrl+C billentyűvel, és újraindíthatod: nem keletkezik duplikált adat, és nem marad ki rekord.

Nagyon nagy boltoknál adj elég memóriát a PHP-nak:

Terminál
php -d memory_limit=1024M $(which wp) fluent_cart_migrator migrate_from_edd --all

Ha a tárhely szigorúan korlátozza a folyamatokat, az --all helyett futtasd külön a szakaszokat, hogy minden hívás saját memóriakörnyezetet kapjon.

Amit a CLI nem tud a varázslóhoz képest

Szekció neve “Amit a CLI nem tud a varázslóhoz képest”
  • Nem mutat élő, lekérdezéses folyamatjelzőt a varázsló vizuális stílusában. A fizetések szakaszában a WP-CLI beépített folyamatjelzőjét használja.
  • Nem szakítja meg és folytatja a szakaszt menet közben kérésre, csak a szakaszok között.
  • Nem jeleníti meg az átvitel utáni visszafelé kompatibilitási figyelmeztetést. Olvasd el közvetlenül a Visszafelé kompatibilitás fejezetet, hogy tudd, mit kell bekapcsolva hagynod.

Minden másban a CLI funkcionálisan egyenértékű a varázslóval, valós terhelésnél pedig gyorsabb.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások