When should each phrase be used, and how does Drupal do this? We will decode Update, Upgrade, Migration in Drupal with example.
These terms are prevalent among Drupal developers these days, and if you've come across them but aren't sure what they mean, this article will explain update, upgrade, migration in simple terms.
Decode Update, Upgrade, Migration in Drupal
Drupal has a dedicated security team that issues security advisories from time to time so that you can apply mandatory patches or use the correct version of Drupal core, modules, themes, and profiles. Let's understand how these terms affect your project in reality.
Update
Drupal has a semantic versioning methodology, which mandates that all contributors utilize the same version in their modules, themes, and profiles. When you download a module or theme, you'll see numbers like 9.x, 10.x, and so on.
In Drupal, the first digit of the version number represents the major version, while the second represents the minor version. Assume you are using 9.5.8, which indicates that you are utilizing the Drupal 9.5 branch.
If Drupal publishes 9.5.9, you may state that there are no changes to the major version, but there are minor version modifications. To stay up-to-date with minor Drupal releases, use the update procedure.
Upgrade
Drupal Upgrade refers to the process of upgrading from a minor to major version, such as Drupal 9 to Drupal 10. This approach needs greater planning and preparation than a minor version update. You must plan the procedure and always make a backup of the code, configuration, and database before entering this stage.
Migration
Migration is the process of moving data from external sources like MySQL, MongoDB, WordPress, and Laravel into a Drupal application. Here, you have one Drupal current version application running with all of the necessary entities, and you load the data into these entities using the migration API. The source application might be Drupal versions 6, 7, 8, or 9. However, destination application must be Drupal latest application where you want to migrate the data.
Drupal core supports migration out of the box that can be achieved by enabling below modules.
- Migrate (migrate): Provides a framework for migrating data to Drupal.
- Migrate Drupal (migrate_drupal): Provides a framework to migrate data from previous versions of Drupal into the site.
- Migrate Drupal UI (migrate_drupal_ui): Provides a user interface for migrating from older Drupal versions.
Migration is a three step process ETL
- Extract
- Transform
- Load
We will cover more details on ETL process into our new article.