Closed (fixed)
Project:
Migrate
Version:
7.x-2.3
Component:
Miscellaneous
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
27 Jan 2012 at 02:05 UTC
Updated:
7 Mar 2016 at 00:33 UTC
Jump to comment: Most recent
Comments
Comment #1
naught101 commentedComment #2
naught101 commentedI should say that I've already tried
drush cc allanddrush ms --refresh, no change.messages like
Class D5D7Migration is no longer a valid concrete migration class [error](when a migration class has been abstracted) also don't go away.
Comment #3
mikeryanYour migration module should deregister its migrations in hook_disable() - see migrate_example:
Comment #4
naught101 commentedok, but this is quite annoying if you're developing Migrations - ie. when they might change names, or change to abstract. I tried
drush ev "Migration::deregisterMigration('BeerTerm');"but that didn't seem to work..
Comment #5
reecemarsland commentedIn the latest dev you need
drush ev "MigrationBase::deregisterMigration('NAME');"Comment #7
jeff veit commentedSuggested solution didn't work for me, but ...
It turned out that for me there were items left in the migrate_status table after uninstalling the example migrate module. (It's also possible that they were added during development when I used one of the example modules as the start point of a migration - so don't treat this as a bug report.)
Anyway, the solution was to go into mysql, and delete the rogue entry...
delete from migrate_status where machine_name="WineProducerXMLPull";Problem solved.
Comment #8
tmwagner commentedConfirm suggested solutions don't work. And actually, I would call this a bug.
Thanks for suggestion, Jeff. I was about to start sifting through the DB to find the errant class...
Comment #9
puddyglumIf I understand this correctly, if you rename/remove a class from your migration you will need to add in a Migration::deregisterMigration('MyOldClass'); for each of them, and then disable and re-enable the module in order to remove the excess tables, records and error messages? Unless I'm mistaken, this seems unnecessarily complicated.
What if the "no longer available" classes were still visible in the UI, but were greyed out and with an option to de-register them... would there be any problem with that?
Comment #10
mikeryanPlease don't reopen closed issues, open a new support request in such cases.
There is now a drush migrate-deregister command:
Comment #11
Countzero commentedThe last command in #10 cleared the situation and successfuly deregistered all the stuff.
BTW, the demo module included in migrate_d2d doesn't deregister its classes, which lead me there.
Comment #12
kalyankix commentedSeems like this issue still persists. However, the problem can be mitigated, as suggested by @Jeff Veit. You can go ahead and delete the specific class name from the DB Table "migrate_status" for the time being.
Comment #13
patrickfgoddard commented#10 also worked for me. Thank you.
Comment #14
myselfhimself commented#10 drush migrate-deregister --orphans worked for me and I am using migrate_d2d project, thanks mikeryan!
Comment #15
prathK commentedThanks Jeff !!! #7 worked for me. But it is also good idea to De-register the classes which are not in use in .install file in hook_disable() itself. Using #10 drush migrate-deregister is clean way to do the same. :D
Cheers,
PrathK
extrimity.in
Comment #16
jcovington commentedDeregistering the errant classes using hook_disable(), was not working for me. I ran the following Drush command, and that appears to have cleaned up the issue.
drush migrate-deregister --orphansComment #17
criscomdrush migrate-deregister --orphansworked for me. Thanks.Comment #18
themorebeautifulworld commented#10 drush migrate-deregister --orphans worked for me with a class extending migrate_d2d. Thank you!