# 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.

## Mikor használd a WP-CLI-t

- 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ó](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/migracio-edd-varazslo/) 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.

## Az elsődleges parancs

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

```bash
wp fluent_cart_migrator migrate_from_edd [kapcsoló]
```

### Kapcsolók

| 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](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/migracio-fejlesztoi-mod/) kell hozzá. |

## Gyakori munkafolyamatok

### Teljes átvitel egy paranccsal

```bash
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.

### Lépésről lépésre

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.

```bash
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.

### A forrásadat előnézete

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

```bash
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.

### Hibák megtekintése futás után

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:

```bash
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.

### Licenc-integritás ellenőrzése

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

```bash
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.

## Kiegészítő parancsok

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

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

```bash
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)

```bash
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](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/migracio-fejlesztoi-mod/) kell.

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

```bash
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](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/migracio-fejlesztoi-mod/) kell.

### Hiányzó előfizetés-UUID-k pótlása

```bash
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.

## Folytatási viselkedés

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.

## Memória- és időzítési tippek

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

```bash
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

- 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](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/migracio-edd-visszafele-kompatibilitas/) 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.
