Downloads

Download migrate-6.x-2.5-rc2.tar.gztar.gz 260 KB
MD5: eac57ac7d3584f6d36783c0c8b764822
SHA-1: 3547f99ca3b79e2fd5485f4b570bf7e3b9844110
SHA-256: a26fd86eea068b2640c8dc85b58c83df9407c8da20296f77bb220e2ba6e98061
Download migrate-6.x-2.5-rc2.zipzip 299.96 KB
MD5: f77c03ff70c9c8a80f85e119dfaeea78
SHA-1: d106fa19c4a9a2a51342286a78c3141fec43dc01
SHA-256: ec8ecbddc29f552f7b4b31e2105ef34416731c11b411713d1dfb29ed6343b5e8

Release notes

Migrate 2.5 Release Candidate 2
===============================

IMPORTANT: Automatic registration of new migration classes is no longer done on
a cache clear. Depending on automatic registration is now deprecated, and you
are encouraged to implement your migrations as DynamicMigration and explicitly
register them via hook_migrate_api() or MigrationBase::registerMigration().
If your migrations are not explicitly registered, you must request auto-registration
with a "drush mar" (drush migrate-auto-register) command, or by clicking the
"Register" button at admin/content/migrate/registration.

Features and enhancements
- #1824024 - Destination and field handlers may now be registered through
hook_migrate_api(). Automatic registration of all migration and
handler classes may be disabled at admin/content/migrate/registration.
The handler configuration formerly at admin/content/migrate/configure
is now at admin/content/migrate/handlers.
- #1778952 - Update examples to emphasize explicit registration via
hook_migrate_api().

Bug fixes
- #1824118 - Make --force work for rollbacks.

Migrate 2.5 Release Candidate 1
===============================

Features and enhancements
- #1778952 - Enable registration of dynamic migrations via hook_migrate_api().
Add explicit auto-registration of non-dynamic migrations, remove
performing registration on cache clear.
- #1670410 - Sanity-check migration machine names.
- #1701764 - Add prepareKey() method to customize source keys.
- #1703050 - Add track_last_imported option for maps.
- #1690092 - Protect migrations, or specific rows, from rollback.
- #1685122 - Add previous source field name to notice.
- #1672572 - Stifle mapping override messages.
- #1621608 - Support for splitting files on import.

Bug fixes
- #1785996 - Consider vocabulary when matching imported terms.
- #1781362 - Add new warn_on_override argument to XMLMigration::addFieldMapping.
- #1712434 - Highwater fails when highwater field values == 0.
- #1708296 - Handle timestamps before 1902.
- #1700678 - Only show path as a destination where applicable.
- #1680878 - Fix rollback through UI.
- #1693492 - Map table query not using right connection.
- #1679798 - Remove remote file import, for reliability of simpletests.
- #1619822 - Cleanup drush subprocess handling.
- #1635184 - Properly NULL csvHandle when closing.
- #1611842 - Fix uid notice on user import.
- #1615682 - Fix to CSV record counting.

Migrate 2.4
===========

Features and enhancements
- #1606586 - Add activeUrl public method to MigrateSourceXML.
- #1152878 - drush migrate-analyze command, for source data analysis.
- #1587566 - Support escape option for CSV sources on PHP 5.3.
- #1189328 - UI option to ignore dependencies.
- #1016452 - Support migrating user role assignments by name.
- #653636 - Add migrate-messages command to dump message table.
- #1428166 - Make message columns sortable.
- #1459888 - Removed deprecated source count(), showMessage(), setOutputFunction().
- #1528916 - Link field descriptions to drupal.org documentation.
- #722686 - Support for node statistics.
- #1299646 - Enforce dependencies on rollback.
- #1328408 - Support --group on drush migrate-status.
- #1402822 - Cleaner handling of exceptions from source plugins.
- #1350284 - Visually group migrations by group in drush.

Bug fixes
- #1595056 - Handle empty arguments from migrate_status table.
- #1595166 - Support multiple source keys in MigrateList.
- #919108 - Cleaner error-handling when updating destinations that don't exist.
- #1570536 - Undefined property in term.inc.
- #1569612 - skip_empty should only skip NULL values.
- #1438282 - Handle errors thrown when getting counts.
- #1358318 - Fix dedupe() overdeduping on --update.
- #1538046 - Give highwater marks a chance at preparation before using them.
- #1408248 - Handle errors in complete() cleanly.
- #1529362 - Make proper check if previously imported.
- #1542922 - Fix XML parsing bug.
- #1538508 - Fix notice when mapping parent_name.
- #1537352 - Check limits and status before next().
- #1540120 - Zero not working as defaultValue.
- #1508654 - MigrateSourceQL needs to respect join aliases.
- #1518076 - UI side of subfield handling.
- #1480762 - Fix cross-database joins to map table.
- #1520688 - setDisplayFunction needs to be static.
- #1512020 - Fix CSS class on the limit field.
- #1308268 - Term migration should link to pre-existing terms.

Migrate 2.3
===========

Features and enhancements
- #1315910 - Added migrate-deregister drush command.
- #1437076 - Make Migration class field mapping methods public.
- #1430528 - Document importance of migrating term parents first.
- #1414616 - Automatically update migration arguments.
- #1401810 - Extended MigrateSourceXML to accept multiple XML files.
- #1403222 - Relaxed setting of bundle for node destinations.
- #1364326 - Default --limit option to items.
- #1337640 - Properly optimize the SQL source query for highwater marks.
- #1366588 - Source plugin support has been refactored to put more of the common
processing in the base class. When implementing a source plugin,
implement performRewind() and getNextRow().
- #1355940 - Track all source rows in the map table.
- #941440 - Autodetection of source fields when unspecified.
- #1341776 - Add option to skip source counting.
- #1342936 - Pass source key in calls to Migration::createStub().
- #1331912 - Catch exception due to skipped beginProcess().
- #1337810 - Documented hooks in migrate.api.php.
- #1342322 - Added default implementation of prepareRow(), simplifying source plugins.
- #1336534 - Added MigrateSourceXML for efficient handling of large XML files.
- #1330552 - Provide more detail on bad field mappings.
- #1321078 - Display incomplete dependencies in the error message.
- #1321062 - Simple base class for field handlers.
- #1314448 - Added tnid to node destination handler.
- #1231492 - Added source handler for retrieving content from file directories.
- #1290706 - Centralize loading of XML.
- #1295040 - Support --update functionality in UI.

Bug fixes
- #1450950 - Convert user datetimes values to timestamps.
- #1437208 - Handle malformed CSV files quietly.
- #1413350 - Support invoking subprocesses under Drush 5.
- #1404732 - Properly call taxonomy_term handler fields() method.
- #1447368 - Handle purely numeric PHP memory_limit.
- #1432802 - Default $options to prevent PHP 5.4 error.
- #1416012 - Cleanly handle NULL source key values in saveIDMapping().
- #1419086 - Better error handling in MigrateXMLReader::next().
- #1422114 - ID list array must be imploded for queries.
- #1300796 - Fixed cross-database joins to map tables.
- #1389008 - Set key in DESTINATION case for MigrateDestinationTable.
- #1386494 - Gracefully handle no-longer-valid classes.
- #1364034 - Add cache_key option to sources, for disambiguation.
- #1361258 - MigrateUserReferenceFieldHandler uses wrong value key.
- #1354162 - Make sure messages are retrieved from the right connection.
- #1352648 - Update mode reapplied on each batch in UI.
- #1349246 - Postgres error updating migrate_log.
- #1342686 - Generalized needs-update support.
- #1342736 - drush options don't need -- prefix.
- #1336880 - Fix XPath handling in MigrateItemsXML::getIDSFromXML.
- #1334546 - Validate compound keys passed to handleSourceMigration().
- #1305338 - Corrected type-hint in MigrateSourceSQL constructor.
- #1305910 - MigrateDestinationTable now tracks inserted/updated records.
- #1285290 - Add migrate_decode_exception() for exception handling.
- #1292462 - Group missing from drush options.
- #1290122 - Force destinations to implement __toString().
- #1290120 - Warnings updating users if roles not set.
- #1290118 - Warning in MigrateItemJSON::getItem()
- #1133096 - Failure to clear currentRow in MigrateSourceMultiItems.

Migrate 2.2
===============

Features and enhancements
- #1304444 - Added static displayMessage(), deprecating showMessage().
- #1226768 - Improved exception handling.
- #1230294 - Get correct count of CSV with embedded newlines.
- #1185632 - Handle (potentially multiple) headers in CSV source plugin.
- #1212818 - migrate_ui support for one-step rollback-and-import.
- #719650 - Implemented ability to assign migrations to groups, and run by group.
- #1201762 - Implemented built-in caching for source counts, and flag to enable it.
- #1195802 - Added prepareRow() support for MSSQL plugin.
- #1195784 - Added verification of required extension to MSSQL plugin.
- #1181720 - Add item/second limiting to UI.
- #1179464 - Added capability of disabling handlers.
- #1175094 - Added support for field handler complete() methods.
- #1176930 - Renamed migrate-descriptions to migrate-mappings, enhanced to export to CSV.
- #1169724 - Implemented source plugin for Oracle.

Bug fixes
- #1265514 - Fixed error message for failed XML load in MigrateItemsXML.
- #1231398 - Add map data to row in Oracle source plugin.
- #1227130 - On import, clear messages before applyMappings().
- #1195802 - Fixed SQL Server problem handling end of batch; brought Oracle/SQL
Server implementations in line with each other.
- #1223468 - Make sure getIDsFromXML always returns an array.
- #1195802 - Fixed prepareRow() support for MSSQL plugin.
- #1185046 - Wine example mistakenly said GROUP_CONCAT could only be used once.
- #1181652 - Fixed MigrateDestinationTable to work on update.
- #1174934 - Support multi-column keys for table_copy destination.
- #1171840 - Delete temporary files when importing URLs to filefields.
- #1176790 - Prevent multiple handlers from messing up fields info.

Migrate 2.1
===========

API change:

Any field handler prepare() or complete() methods you have defined must be changed
to remove stdClass for the $entity argument. I.e., prepare(stdClass $entity, stdClass $row)
should now be prepare($entity, stdClass $row).

Requirements change:

The migrate_ui submodule now requires the Elements module (http://drupal.org/project/elements)
to support performing operations from the dashboard. Install and enable Elements
before upgrading from Migrate 2.0 to this version if you have migrate_ui enabled.

Features and enhancements:
- #1025754 - Added support for multi-value source keys to handleSourceMigration().
- #1161584 - Added lookupSourceID() and lookupDestinationID() to MigrateMap.
- #1017246 - Added support for running migrations from the dashboard.
- #1004812 - Added schema-driven table destination plugin.
- #1009708 - Added role destination plugin.
- #737170 - Added support for field level callbacks.
- #1005090 - Added filefield property import from JSON input.
- #730980 - Added more detailed reporting on import.
- #1142384 - Extended file field support to copy from remote URLs.
- #1138096 - Added MigrateSourceMultiItems class for self-contained XML sources.
- #1101586 - Add shortcut methods for adding several field mappings at once.
- #1101592 - Replace --itemlimit with --limit, supporting time limits as well.

Bug fixes
- #1161612 - Handle integer highwater marks properly.
- #1161812 - Added handling for NULL watchdog variables.
- #1009708 - Fixed E_STRICT notice on MigrateDestinationRole::getKeySchema().
- #1161590 - Made $migration optional for handleSourceMigration(), createStubWrapper(),
lookupDestinationID().
- #1161482 - Handle NULL source_field mappings.
- #1156972 - Do not include message table in source queries.
- #1156928 - Always load account for filefields.
- #1157250 - Fixed migrate_ui menu entry to show under admin/content.
- #1157078 - Drupal 6 filefields have list property, not display.
- #1155740 - Make remote file fetch HTTP version independent
- #1037872 - Deal with updates with idlists when mapping nids directly.
- #943546 - Make sure both slashes and backslashes are trimmed where necessary.
- #1146366 - Fixed rollback of table destinations.
- #1148474 - Enforce unique IDs in MigrateItemsXML.
- #1132034 - Don't assume entity is a stdClass.
- #753284 - Fixed systemOfRecord==DESTINATION updates for nodes and users.
- #1136852 - Fixed cross-threaded test in preImport().
- #1134858 - Improved validation for XML imports.
- #1134300 - Add parameter $messages_only to MigrateMap::delete().
- #1134506 - Removed obsolete views_alter() hook.
- #1133096 - CSV source always processed last row, fix to clear currentRow.
- #1124318 - Properly use source_field arguments for file field attributes.
- #1133030 - Undefined constant in drush migrate-fields-destination.
- #1128532 - Handle call to watchdog when Migration class not defined.
- #1126108 - Fix undefined variables in XML error handling.
- #1117602 - Bad counts reported on bulk rollback.
- #1118480 - Document _name arguments to file fields.
- #1107546 - Check file presence with is_file() instead of file_exists().
- #1103042 - Rollback broken with multi-valued keys.

Migrate 2.0
===========

Features and enhancements (since first 2.0-dev)
Added JSON source plugin.
CSV source backported from D7.
- #919108 - Add deleteDestination() for maps; cache migration list.
- #996086 - Add prepareRollback and completeRollback methods for entities.
- #1039882 - Pass client migration to stub creation. Note that $migration->values
(the destination object being built) is now $migration->destinationValues - any
migrations referencing this member will need to change.
- #946350 - Accept arrays in sourceMigration();
Moved filefield support from migrate_extras to migrate, for consistency with D7.
Let a node migration set node_revisions.uid. Thats the 'last edited by' user
- #989200 - Support "dynamic" migrations. Changes to be aware of:
All modules implementing migration classes must now implement hook_migrate_api()
(see migrate_migrate_api() for an example).
Dependencies and sourceMigrations must now be expressed in terms of
machine name rather than class name.
MigrationBase::getInstance now takes a machine name rather than a class name.
Migration class names are no longer required to end in 'Migration'.
- #992898 - Pass options to source and destination constructors as arrays.
Add logging of fetch queries and dqp() function to translate DBTNG query object into full SQL.
Inherit default settings for promote, sticky, status, status from content type
configuration. Already done in D7.
Add arguments method for MigrateTermNodeHandler class
Add dedupe() method for a field mapping.
maintainStatistics business removed from comment import.
Default comments to published status

Bug fixes
- #940984 - Avoid user insert errors on some MySQL versions.
- #1079416 - postRollback called outside of rollback operation.
- #1079438 - Simpletest notices on D6.
- #1063926 - prepareRow() call missing from MigrateSourceList.
- #1061284 - Appropriately translate watchdog severities to migrate severities.
- #1058942 - Flush cache on enable to make sure classes get registered.
- migrate_example error when auto_nodetitle module not present.
- #1053798 - Missing 'debug' on showMessage.
- #1053798 - Consistent use of error codes.
- #1053526 - Machine names in drush commands now case-insensitive.
- #919706 - Fix drush migrate-descriptions command.
- #1027468 - Limit map/message table name lengths.
- #1045646 - Handle PHP memory_limit of -1.
- #1050348 - Check map table existence in correct DB.
- #1028824 - Errors during registry rebuild trigger fatal error.
Fix highwater handling to deal with duplicate values.
- #990640 - Help people trying to upgrade from Migrate V1.
- #998586 - Improved feedback for disabled migrations.
- #972382 - Fix MigrateDestinationTableCopy.
- #962120 - Support idlist on rollback.
- #1017744 - Term references need to be explicitly added to fields list; example
needs to use vocabulary name (no machine name in D6).
- #1017256 - Document case-sensitivity in beer.inc.
- #1013844 - Better error handling in getInstance().
- #1004992 - Double call to prepare() on comment import (systemOfRecord DESTINATION)
- #1006272 - Remove lengths on int fields in schema (breaks Postgres)
- #1005030 - Replace eval() with proper call_user_func().
- #1005360 - Skip .test files in registry scan
- #1002500 - Remove conflicting comment_load() wrapper.
- #1004268 - Don't munge date separators
prepareRow() skips current row only if boolean FALSE is returned.
Avoid notice in user.inc
- #990960 - Initialize fields array for profiles
- #839770 - Notice: Undefined property: stdClass:: in forum_node_presave() when
generating forum nodes.
- #984294 - Make migrate dashbard a local task.
needs_update => needs-update to match drush conventions.
Inherit default settings for promote, sticky, status, status from content type
configuration. Already done in D7.
- #898622 - Undefined variable in MigrateDestinationNode::import()
- #839770 - Notice: Undefined property: stdClass:: in forum_node_presave() when
generating forum nodes.
- #990960 - Initialize fields array for profiles
- #983968 - Bogus settings of ->uid
- #940984 - Migrate Example BeerUser is broken -- tries to insert '' into users.uid

Created by: mikeryan
Created on: 27 Oct 2012 at 15:38 UTC
Last updated: 12 Apr 2014 at 15:03 UTC
New features
Bug fixes

Other releases