Articles

Before You Begin
This page lists core Drupal and the most significant contributed modules related to upgrading to Drupal 11.
Earlier documentation: Migrating to Drupal 7 from various sources (some of which may still apply to Drupal 11)
Core Migrate Modules
Please refer to the Migrate API overview for technical documentation on core functionality.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Upgrade Using a Web Browser
Before You Begin
Before starting the upgrade, make sure you’ve reviewed the following documentation:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Upgrade Using Drush
Drush is a command-line shell and scripting interface for Drupal. Upgrading to Drupal 8 using Drush is an alternative to using the browser-based UI. It is especially useful for migrating complex sites as it allows migrations to be run individually and rolled back as needed.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Drupal 6 to 8
Aggregator Categories
Drupal 8 no longer has the concept of aggregator categories, so they are not migrated to Drupal 8.
Allowed Protocols
Drupal 8 now stores protocols in the "filter_protocols" container parameter. If you modified the filter_allowed_protocols
variable, enter it in the services.yml
file.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Create Your Initial Migrations
- Create migrations using drush migrate-upgrade --configure-only as described in the section "Upgrade Using Drush".
- Ensure you have a config/sync directory that will be used in the next step.
- Export the migrations using drush config:export
- Create your own migration module.
- Copy only the YML files you want to use from the config/sync directory to the config/install directory of your new custom module, editing

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

The core "Migrate Drupal" module in Drupal 8 provides API support for migrating from Drupal to Drupal, and the "Migrate Drupal UI" module offers a simple user interface for upgrading from older versions of Drupal.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Dynamic queries refer to queries that are dynamically created by Drupal, rather than being supplied as an explicit query string. All insert, update, delete, and merge queries must be dynamic. Select queries can be either static or dynamic. Hence, "dynamic query" usually refers to a dynamic Select query.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

The Select query builder supports using expressions in the field list. Example expressions include "double the age field," "count of all name fields," and a substring of the title field. Note that many expressions may use SQL functions, and not all SQL functions are standardized across all databases. Module developers must ensure that only expressions compatible with supported databases are used. (See List of functions and operators)
