We are trying to do migration of joomla database to drupal 8. We are using migrate and migrate plus modules to accomplish this task. We took migrate example module(beer migration) which came with migrate plus module as reference and trying to customize it according to our requirements. But when we try using our custom migration names instead of beer_term the migrations are not registering. Is there a way that we can register them.
-
I assume you have installed your module and afterwards added the migrate yml files to you module?– RobinCommented Mar 24, 2017 at 6:51
-
I have found that for some reason I have to have the migration templates AND migration configurations present, otherwise they won't work.– user21641Commented Mar 24, 2017 at 7:55
1 Answer
There are several things to check for when troubleshooting migrate/migrate plus.
Based on "not registering" make sure you set id: my_migration
instead of id: beer_term
or it won't show up when you run drush ms
. That's the easy one, hopefully it's that. If not...
Failures resulting from errors in your migration configs will be silent most of the time. When they're not silent, they tend to send you on a wild goose chase for something pretty unrelated to what failed. This can make it frustrating to pinpoint what went wrong. Quadruple check your .yml syntax.
Secondly, make sure your config (.yml) files are named correctly. They should be named and placed exactly like /drupal/modules/custom/my_module/config/install/migrate_plus.migration.my_migration.yml
The config files should NOT be named my_module.migration.my_migration.yml
. As @mike ryan points out, resist the temptation to do so.
If you've done all of the above after uninstalling and reinstalling your module, your migration should show up when you do a migrate status check.
-
3Just to doubly emphasize - the name of the .yml file must begin with the exact string "migrate_plus.migration". A lot of people, for some reason, do "my_module.migration"... Commented Apr 11, 2017 at 2:50
-
The double emphasis was necessary – that was exactly my problem. @MikeRyan I think I picked up the misconception from the migrate_example module being nested within migrate_plus and in general automatically renaming things when copying them to my own modules. (Nonsensical in hindsight because the module is actually called migrate_example, but there it is.) Perhaps making the naming clear in the example YAML files themselves would help? Commented Apr 25, 2017 at 12:45