jord-jd/uxdm
UXDM is a PHP data migration library for moving records between sources and destinations such as CSV, JSON, XML, PDO and Eloquent. Map fields, transform values, and run repeatable imports or exports through a simple, extensible API.
Consider it when:
Look elsewhere when:
For executives: This is a small, free, open-source PHP component that provides the plumbing for moving data between systems. It lets us build customer-facing importers and internal migration tooling — the "switch to us without re-entering your data" capability — with meaningfully less engineering time than a bespoke build, and without a vendor contract. The main risks are that it is a low-community project and carries an LGPL license; we mitigate both by wrapping it behind our own interface, pinning the version, and limiting it to well-bounded batch jobs. Recommend a time-boxed pilot on one importer before committing it to the roadmap.
For engineering: It is a pipeline library, not a framework. You compose a Migration from source migrators (read), mappers (transform field-by-field), and destination migrators (write), with observers for progress and error visibility. That keeps transformation logic in our code and transport in the library, which makes imports unit-testable and connectors additive — adding a new source is a new migrator, not a refactor. It runs in-process, so it deploys with the app: no new infrastructure, no service to operate. Constraints to design around: batch-oriented, memory-bounded by the PHP process, so chunk large datasets at the call site; and we should define our own internal migration interface on top of it so an upstream abandonment or license review outcome is a swap, not a rewrite.
How can I help you explore Laravel packages today?