A complete rewrite of the Migrate module. This is Independence Day for migrate. No longer do we depend on Views, Schema, and Table Wizard. In order to fetch data from the source tables, one provides a SQL query in your migration code.
Some other highlights:
- Migrate has modelled itself after Feeds and Ctools. It supports an OO plugin system whereby new sources can be developed (imports from XML files, flat HTML files, etc.) and new destinations (email newsletter subscriptions, ubercart transactions, etc.).
- Migrate is now a native drush application. Migration status, import, rollback, stop and so on are drush commands. There is no UI right now for importing via the web. We do expect to add that again in a migrate_ui module.
- All configuration is in code. This makes deployment easy. For now, there is no UI based mapping of columns.
- Migrate ships with a migrate_example module which is a complete example migration, including sample legacy data. This is our documentation, and it rocks. More tutorial based documentation is expected in the future.
The initial development of Migrate 2 has been sponsored in part by Examiner.com
Note that Migrate 2 is fundamentally architecturally different from Migrate 1 - there is no automated upgrade path. If you are currently using Migrate 1 on a project, you should stick with that - we encourage new projects to start with Migrate 2.
Once the API has settled down initial beta releases will be made available - in the meantime, there are development releases to play with but be warned that incompatible API changes continue to be made, so be very careful about updating your code.