Concepts
Five things describe everything in Graftport. Internalize these and the rest of the product makes sense.
| Concept | What it is |
|---|---|
| Migration | The long-lived workspace for one merchant’s move — credentials, enabled resources, mappings, history. |
| Resource | A category of data being moved — products, customers, orders, collections, discount codes, gift cards, blogs, markets, redirects. |
| Mapping | The JSONata template that turns one source row into one Shopify-shaped record. |
| Run | A single execution of one or more phases (extract, transform, load) over the migration. |
| Run item | A run’s per-resource breakdown — one card per (run, resource). Carries phase, result, counts, and any errors. |
How they fit together
A migration holds the merchant’s credentials and decides which resources to move. Each resource is paired with a mapping that translates source data into Shopify shape. When you start a run, it produces one run item per enabled resource and progresses each through the phases you asked for.
What Graftport does for you
- Idempotency. Re-running a load doesn’t duplicate. Records keep their Shopify identity and update in place on the next pass.
- Phase isolation. You can extract today and load next week. Your intermediate progress is preserved.
- Versioned mappings. Every mapping change is an immutable version. You can see exactly which version produced which output.
- Per-row error capture. A bad row fails its row, not the run. The rest keeps moving and the failure is inspectable.
Last updated on