Tovább a tartalomhoz

EDD-átvitel: hibaelhárítás

A sikertelen fizetések naplója, a licencellenőrzés, a gyakori hibák megoldása, az átvitel visszaállítása és a gyakori kérdések.

A Migrator tűri a rossz adatot: az egyes rekordok hibáját rögzíti, és nem állítja le a futást. Ez a fejezet megmutatja, hogyan találod meg ezeket a hibákat, hogyan ellenőrizheted az épséget az átvitel után, és hogyan állsz helyre a gyakori problémákból.

Ha egy rendelés átvitele nem sikerül (sérült rekord, hiányzó vásárlóhivatkozás, hibás tételek, átjáróadat-ellentmondás), a hiba a _fluent_edd_failed_payment_logs WordPress-beállításba kerül, a futás megszakítása helyett.

Terminál
wp fluent_cart_migrator migrate_from_edd --log

Minden bejegyzés mutatja:

Mező Jelentése
edd_id A hibás EDD-rendelés azonosítója
message Emberi nyelvű hibaüzenet
error_type Rövid kód a hibakategóriáról
stage Hol történt a hiba a folyamatban (data_setup, validation, migration)

Az átvitel befejező képernyője kinyitható hibanapló-szakaszt mutat. Kattints rá, és ugyanazt az adatot látod, mint a CLI --log kimenetében.

  1. Nyisd meg az eredeti EDD-rendelést a WordPress adminban (az EDD felületén a rendelések között).
  2. Vesd össze a hibaüzenettel. Az ok általában kézenfekvő (hiányzó vásárlói e-mail-cím, törölt termékhivatkozás, törött metaadat).
  3. Javítsd ki a forrásadatot az EDD-ben.
  4. Futtasd újra a fizetések szakaszát: wp fluent_cart_migrator migrate_from_edd --payments. A Migrator csak azokat a rendeléseket veszi fel, amelyek még nem kerültek át sikeresen.

Ha a boltod EDD Software Licensinget használ, az átvitel után futtasd az ellenőrző parancsot:

Terminál
wp fluent_cart_migrator migrate_from_edd --verify_license

Összeveti az EDD licencrekordjait a FluentCart licencrekordjaival, és jelzi:

  • az EDD-ben meglévő, de a FluentCartból hiányzó licenceket;
  • az állapoteltéréseket (aktív az EDD-ben, de inaktív a FluentCartban, vagy fordítva).

Minden eltérésnél vizsgáld meg, hogy a forráslicenc rendellenes-e (szülőrendelés nélküli licenc, törölt webhelyre mutató aktiválás), vagy az átvitel valóban kihagyta. Ha valóban kihagyta, a fizetések szakaszának újrafuttatása általában megoldja, mert a licencek a rendelések feldolgozásának részeként kerülnek át.

Az összeférhetőségi ellenőrzés megállítja az átvitelt, ha EDD 2.x-et talál a régi, bejegyzéstípus-alapú adatmodellel. A Migrator csak az EDD 3.x v3 táblaszerkezetét támogatja.

Megoldás: frissítsd az Easy Digital Downloadst 3.x-re. Az EDD 3.0 beépített átviteli eszközzel konvertálja a régi adatot a v3 táblákba. Futtasd le ezt előbb, majd térj vissza a FluentCart Migratorhoz.

A megakadt átvitel szinte mindig szerveroldali időtúllépés: a PHP max_execution_time megszakította a kérést, vagy a tárhely folyamatfelügyelője leállította a hosszú szkriptet.

Megoldás a varázslóból: egyszerűen frissítsd az oldalt. A varázsló az utolsó befejezett kötegtől folytatja. Ha újra megakad, csökkentsd a Köteg mérete legördülő lista értékét (próbáld 50-nel vagy 25-tel), hogy minden köteg bőven beleférjen a tárhely időkorlátjába.

Megoldás a CLI-ből: a CLI teljesen megkerüli a HTTP-időtúllépést. Ha a varázsló folyton megakad, válts a CLI-re:

Terminál
wp fluent_cart_migrator migrate_from_edd --all

Nagy boltoknál a PHP-nak elfogyhat a memóriája a fizetések szakaszában.

Megoldás: ideiglenesen adj a PHP-nak több mozgásteret az átvitel futtatásához:

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

Ha így is eléred a korlátot, az --all helyett futtasd külön a szakaszokat:

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

Minden hívás saját memóriakörnyezetet kap.

Ha a hibák „customer not found” üzenetet mutatnak, az EDD-rendelés olyan vásárlórekordra hivatkozik, amelyet töröltek az edd_customers táblából, de a rendelés metaadatában még megvan.

Megoldás: ha az elsődleges keresés elbukik, a Migrator a rendelés e-mail-címéből és címmetaadatából hoz létre vásárlót. Ha a rendelésnek egyáltalán nincs használható e-mail-címe, a fizetések szakaszának újrafuttatása előtt kézzel kell javítanod a rendelést az EDD-ben.

Az előfizetések számlázásszámai rosszak

Szekció neve “Az előfizetések számlázásszámai rosszak”

Az újraszámolási szakasz után néha egy előfizetés számlázásszáma nem egyezik azzal, amit vártál.

Megoldás: ez általában azt jelenti, hogy a megújító rendeléseket az EDD-ben sosem kapcsolták a szülőelőfizetéshez (hiányzik a subscription_id). Az újraszámolás a parent_order_id alapján automatikusan összekapcsolja az árván maradt megújításokat, de csak akkor, ha van felderíthető kapcsolat. Futtasd újra kézzel az újraszámolást:

Terminál
wp fluent_cart_migrator migrate_from_edd --recount

Ha a számok még mindig eltérnek, nézd meg a megújító rendeléseket a FluentCartban, és ellenőrizd, hogy a parent_id mezőjük megegyezik-e az eredeti előfizetés szülőrendelésének azonosítójával.

A licenc-webhelyaktiválások nem maradtak meg

Szekció neve “A licenc-webhelyaktiválások nem maradtak meg”

Ha egy vásárló azt jelzi, hogy a licence hirtelen érvénytelen egy korábban aktivált webhelyen, ellenőrizd, hogy a webhely URL-je megmaradt-e az átvitelkor.

Megoldás: a Migrator normalizálja a webhely-URL-eket (kisbetű, protokoll nélkül, záró perjel nélkül). Ha a vásárló webhely-URL-jét szokatlanul tárolta az EDD (portszámmal, : karakterrel, nem ASCII karakterekkel), előfordulhat, hogy a normalizálás után nem egyezett. Nézd meg közvetlenül a FluentCart-licencrekord webhelyaktiválásait, és szükség esetén add hozzá kézzel a webhelyet.

Néhány előfizetés UUID nélkül maradhat az átvitel után, ha a forrásrekord részben sérült volt. Futtasd a dedikált javítást:

Terminál
wp fluent_cart_migrator fix_subs_uuid

Ez pótolja a hiányzó UUID-ket anélkül, hogy máshoz nyúlna.

Ha egy tesztkörnyezeti átvitel problémás, és elölről szeretnéd kezdeni, a Migrator tiszta visszaállítási útvonalakat ad. Mindegyik a fejlesztői módhoz kötött: a wp-config.php-ban meg kell adnod a FLUENT_CART_DEV_MODE állandót, különben egyik útvonal sem működik. Ez szándékos: a visszaállítás pusztító, és az állandóhoz kötés lehetetlenné teszi, hogy véletlenül az admin felületről indítsd el.

Élesben soha ne futtass visszaállítást. A visszaállítás eldobja a FluentCart tábláit, és törli az átvitt bejegyzésadatot. Csak tesztelő, helyi vagy más módon elszigetelt környezetben használd.

A visszaállítás gombja a varázslóban

Szekció neve “A visszaállítás gombja a varázslóban”

Ha a fejlesztői mód aktív, és a varázsló korábbi átvitelt észlel az oldalon, az átvitel előtti áttekintő képernyőn az „előző átvitel észlelve” értesítésben megjelenik egy átvitel-visszaállító hivatkozás. Rákattintva megerősítést kér, majd lefuttatja a visszaállítást. Éles oldalon (fejlesztői mód nélkül) ez a hivatkozás teljesen rejtett: az értesítés ettől még megjelenik, és megerősíti, hogy az előző futás befejeződött, csak a visszaállítási lehetőség nélkül.

A visszaállítás alapos: mindent visszagörget, amit az átvitel létrehozott, hogy tiszta lappal indulhass.

Adatbázisséma:

  • eldobja a FluentCart tábláit a DBMigrator::refresh() hívással.

Törölt WordPress-beállítások:

  • __fluent_cart_edd3_migration_steps (a szakaszok haladása);
  • _fluent_edd_failed_payment_logs (rendelésenkénti hibarekordok);
  • __fluent_cart_migration_summary (összesítő számok).

Átvitt bejegyzésadat:

  • törli az átvitel által létrehozott FluentCart-termékbejegyzéseket;
  • eltávolítja az átviteli metaadatot az EDD-bejegyzésekről (_fcart_migrated_id, __edd_migrated_variation_maps).

Az eredeti EDD-adatodhoz sosem nyúl. Csak a FluentCart-oldali rekordokat és a kétirányú leképezési metaadatot érinti.

Mindkettő pusztító, de különböző szinten működnek.

Parancs Hatókör Mikor használd
wp fluent_cart_migrator migrate_from_edd --reset Törli az átvitt adatokat és az átviteli állapotot Gyors visszaállítás a próbafuttatások között
wp fluent_cart_migrator reset Ugyanaz, mint a --reset, önálló parancsként Ugyanaz a helyzet, másik belépési pont
wp fluent_cart_migrator migrate_fresh Visszaállítás és sémafrissítés Ha maga a FluentCart-séma megváltozott (bővítményfrissítéskor vagy fejlesztés közben)

A legtöbb tesztkörnyezeti munkafolyamathoz elég a --reset vagy a reset. A migrate_fresh-hez akkor nyúlj, ha a FluentCart adatbázissémája frissült, és garantáltan tiszta lapot szeretnél.

Próbafuttatási munkafolyamat tesztkörnyezetben

Szekció neve “Próbafuttatási munkafolyamat tesztkörnyezetben”

Egy tipikus próbahurok:

  1. Klónozd az éles oldalt a tesztkörnyezetbe, az EDD adatbázissal együtt.
  2. Kapcsold be a fejlesztői módot a tesztkörnyezet wp-config.php fájljában.
  3. Telepítsd a FluentCartot és a Migrator bővítményt.
  4. Futtasd le a teljes átvitelt a varázslóval vagy a CLI-vel.
  5. Nézd át a termékeket, rendeléseket, előfizetéseket, licenceket és kuponokat.
  6. Jegyezd fel, mit kell a forrásadatban kitakarítani az éles futás előtt (duplikált vásárlók, törött termékek, régi rekordok).
  7. Állítsd vissza az átvitelt: wp fluent_cart_migrator migrate_from_edd --reset.
  8. Takarítsd ki a forrásadatot.
  9. Futtasd újra a teljes átvitelt.
  10. Ha a tesztkörnyezetben az eredmény megfelelő, ismételd meg az éles oldalon (kikapcsolt fejlesztői móddal).

A következmények nélküli ismétlés az egyszeri átvitelt szabályozott, nyomon követhető folyamattá teszi.

Minden visszaállítási útvonal megerősítést kér az adatok törlése előtt, a CLI-ben és a varázslóban is. A CLI-kérdést a szokásos WP-CLI --yes kapcsolóval kihagyhatod:

Terminál
wp fluent_cart_migrator migrate_from_edd --reset --yes

Ezt csak átnézett szkriptekben tedd. A megerősítés okkal van.

A meglévő vásárlóknak kell tenniük valamit?

Szekció neve “A meglévő vásárlóknak kell tenniük valamit?”

Nem. A fiókjaik, rendelési előzményeik, előfizetéseik és licenceik mind átkerülnek. A meglévő WordPress-belépési adataikkal lépnek be, és mindent ott találnak, ahol várják, csak most a FluentCartban az EDD helyett.

Az aktív előfizetések automatikusan megújulnak tovább?

Szekció neve “Az aktív előfizetések automatikusan megújulnak tovább?”

Igen. Az előfizetési rekordok az átjáró előfizetés-azonosítóival (Stripe, PayPal) kerülnek át. Amíg ugyanazokat az átjáró-fiókokat kötöd újra a FluentCartban, a megújítások fennakadás nélkül folytatódnak. A PayPal Standard előfizetéseket a Migrator visszafelé kompatibilitási rétege kezeli.

A vásárlók szoftverlicencei tovább működnek?

Szekció neve “A vásárlók szoftverlicencei tovább működnek?”

Igen. A Migrator elfogja az EDD-formátumú licenc-API hívásokat (aktiválás, kikapcsolás, érvényesség-ellenőrzés, frissítésellenőrzés), és a FluentCarton át irányítja őket. A vásárlóknak nem kell semmit frissíteniük vagy újrakonfigurálniuk.

Módosítja vagy törli az átvitel az EDD-adataimat?

Szekció neve “Módosítja vagy törli az átvitel az EDD-adataimat?”

Soha. A Migrator csak olvassa az EDD adatbázistábláit. Az eredeti adatod érintetlen. Az egész átvitelt ellenőrizheted az EDD-áruházad ellen, mielőtt bármit átállítanál.

Mi van, ha az átvitel félúton megszakad?

Szekció neve “Mi van, ha az átvitel félúton megszakad?”

Egyszerűen indítsd újra. A Migrator követi a saját haladását, kihagyja a kész szakaszokat, és a fizetések szakaszát pontosan abból a kötegből folytatja, ahol megállt. Nem keletkezik duplikált adat.

A bolt méretétől függ:

  • Kis boltok (néhány száz rendelés): két-öt perc.
  • Közepes boltok (több ezer rendelés): tíz-harminc perc.
  • Nagy boltok (több tízezer rendelés): harminc perctől pár óráig.

A CLI közepes és nagy boltoknál következetesen gyorsabb a varázslónál, mert elkerüli a HTTP-időtúllépéseket és a kötegenkénti oda-vissza kéréseket.

Igen. Minden szakasz idempotens. A termékek újrafuttatása az azonosítótérkép alapján frissíti a már átvitt termékeket. A kuponok újrafuttatása kód alapján frissíti a meglévő kuponokat. Az újraszámolás mindig az aktuális adatokból számol újra. Az újrafuttatás nem okoz duplikált rekordot.

Mi a helyzet a WooCommerce vagy a SureCart átvitellel?

Szekció neve “Mi a helyzet a WooCommerce vagy a SureCart átvitellel?”

A WooCommerce támogatott, a saját útmutatóját lásd az Átköltözés WooCommerce-ből fejezetben. A SureCart a forrásválasztóban még „hamarosan” jelzéssel látszik.

Hol kérhetek segítséget, ha elakadok?

Szekció neve “Hol kérhetek segítséget, ha elakadok?”
  • Nézd meg a sikertelen fizetések naplóját: wp fluent_cart_migrator migrate_from_edd --log.
  • Futtasd a licencellenőrzést: wp fluent_cart_migrator migrate_from_edd --verify_license.
  • Ha egy vásárló az átvitel után problémát jelez, olvasd el a Visszafelé kompatibilitás fejezetet.
  • Nyiss támogatási jegyet a FluentCart-fiókodon keresztül.

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