Apex Embroidery Design - an embroidering and digitizing company over 20 years.
What we do for the Apex website started with redesigning and developing a new theme service 2020. But after the redesign and development of the new theme in Drupal 7, in 2021, they wanted to migrate their site from D7 to D8. This is where Apex turned to us for help.
Apex - a 20-year-old company that has been using Drupal for all its sites - has a lot of data. The second project started with some challenges…
- The file license module was only available in D7, we needed to build a new module in D8 first and migrate 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