Score:0

Migration fails with "missing migrations" errors

ci flag

I am trying to migrate a Drupal 7 site to Drupal 9 using the Migrate module user interface. I have read through and followed the corresponding tutorials on drupal.org, but the migration still fails.

Given that my original Drupal 7 site is quite complex, for testing purposes, I created a fresh installation of Drupal 7 and created some dummy nodes; then I ran the upgrade from the user interface in Drupal 9.

The What will be upgraded? page indicated that 29 modules would be upgraded (including the Node module). After performing the upgrade, I got the following messages:

Completed 39 upgrade tasks successfully
40 upgrades failed
Upgrade process not completed

The content hasn't been migrated.

When I checked the upgrade log, I found the following error:

Migration d7_node:article did not meet the requirements. Missing migrations d7_node_type, d7_user. requirements: d7_node_type. requirements: d7_user.

The d7_node_type.yml and d7_user.yml migration files are there in the appropriate Drupal 9 folders, so I don't understand what the problem is. What am I missing?

simonp avatar
ci flag
Follow-up: I've run the above migration test both from Drupal 7 to 9, and from Drupal 7 to 8, on two different servers (my web hosting provider's and a XAMPP local server) with the same results. Clearly, I must be missing something. Could someone point me in the right direction to solve this problem?
Score:0
nl flag

I had the same messages in my log when I first tried a migration using the user interface. I also had the following which once sorted out appeared to clear up the other errors.

General error: 1267 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) >and (utf8mb4_0900_ai_ci,IMPLICIT)

It seems the collations of the databases need to be the same. My source db from my drupal 7 site is utf8mb4_general_ci and the default for my new db is utf8mb4_0900_ai_ci. So I used phpmyadmin to 'convert' the drupal 7 db to utf8mb4_0900_ai_ci which did the trick.

I'm no mysql expert, as demonstrated by my use or phpmyadmin instead of the command line, so you should use a copy of your source db at the very least.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.