View on GitHub

SAcommunity Migration

Volunteer documentation for Drupal 11 Migration

Part 1: Key Concepts and Advice

Published on: 23 Nov 2025

Before we start, I want to cover some terminology and advice. This is based on my experience migrating for SAcommunity.org.

Terminology

Here are some frequently used terms I’m going to use:

Lessons I Learned (and my advice)

1. Do not depend on LLMs like ChatGPT or Gemini too much

In the beginning, I just asked the AI to write the whole YAML for me — just basic human laziness, trusting it would do the job.

Even after defining very clearly how my JSON is structured, how I structured the content type, and what I wanted to migrate, the AI failed. Prompt engineering is not the issue; the existing knowledge in these LLMs about Drupal is extremely limited.

2. Use the official documentation

Try searching for websites that teach Drupal migration properly. Of course, I am going to teach what I learned here, but these are highly recommended:

3. Start small

Start migrating one field to test your migration YAML, and continue adding more as each field is successfully migrated.

I initially wrote migrations for many fields right at the beginning and was confused about where it went wrong. It was hard to debug because you don’t know if the error is from the JSON, the process part of the migration, or the SQL database limits.

4. MySQL Workbench is your friend

It’s optional software. Initially, I did not know why we were installing this, but it ended up being my friendly companion to:

  1. Understand sub-fields: e.g., for a link-type field, there are subfields for the URI and another for the title.
  2. Verify success: After I execute the migration, I will run a simple SELECT * FROM [field_name] SQL command to see if the table is populated.

< Back to Home