Apex Embroidery Design - an embroidering and digitizing company for over 20 years.
Apex has been using Drupal for all its sites and contains a lot of data.
What we do for the Apex website started with redesigning and developing a new theme service in 2020. But after the redesigning and development of the new theme in Drupal 7, in 2021, they wanted to migrate their site from D7 to D8. This was where Apex turned to us for help.
In 2022, Apex once again went back to us with a request for upgrading the site's core to D9. The release is in September.
- The file license module was only available in D7, we needed to build a new module in D8 first and migrate it then
- Must ensure data integrity
- Keep everything the same as D7 from Search Engine to Theme
As structures of content are the same and content has the same format, we decide to write a module to migrate.
To migrate from Drupal 7 to Drupal 8 (or Drupal 9), start with keeping everything the same for structure, some differences in structure are ok, depending on requirements, however, content consistent should be kept to be able to migrate enough content consistently.
Next, code a module to install to D7 to export data by an entity in JSON format.
Then, code a module to migrate content in 3 steps
- Step1: fetch data: call D7 API to load data by an entity, save to migration_content table.
- Step 2: parse data: load each line in migration_content table => parsing => saving to new entity in D8/D9 => saving mapping id (old id <=> new id).
- Step 3: link data: link the new entity id to the new referenced entity by the mapping id.
Finally, test it.
Here is a new Apex Embroidery Designs site in D8. Visit live site