Drupal Upgrade (Drupal 9 » Drupal 10)

There is a medium-sized website based on Drupal 9 that needs to be upgraded to Drupal 10. Here is a guide on how we upgrade this website.

Backup  Files & DB & Config:

drush cex
drush sql:dump  | gzip -c > ../backup_d9/db-$(date +%Y-%m-%d-%H%M).sql.gz && tar -zcf ../backup_d9/web-$(date +%Y-%m-%d-%H%M).tar.gz ../httpdocs/

Upgrade deprecated core modules (convert to contrib) :

composer require 'drupal/aggregator:^2.1'
composer require 'drupal/ckeditor:^1.0'
composer require 'drupal/color:^1.0'
composer require 'drupal/quickedit:^1.0'
composer require 'drupal/rdf:^2.0'

Uninstall unneeded modules

drush pmu devel
drush pmu upgrade_status

 

Upgrade Drupal 9 to Drupal 10

chmod 777 web/sites/default
chmod 666 web/sites/default/*settings.php
chmod 666 web/sites/default/*services.yml
composer require 'drupal/core-recommended:^10' 'drupal/core-composer-scaffold:^10' 'drupal/core-project-message:^10' --update-with-dependencies --no-update
composer require 'drush/drush:^12' --no-update
composer require 'twig/twig:^3.4' drupal/hal 'symfony/event-dispatcher:^6.2' psr/log 'drupal/slick_extras:^1.0@RC' 'chi-teck/drupal-code-generator:^3' --no-update -W
composer update -W
drush updb -y

 

Update

composer update && drush updb -y


 

 

Comments

// views

wget https://www.drupal.org/files/issues/2023-09-22/3353786_28.patch
patch -p1 < 3353786_28.patch

// search_api_autocomplete

cd modules/contrib/search_api_autocomplete/
wget https://www.drupal.org/files/issues/2023-10-01/3382226-22--solr_version_check_bug.patch
patch -p1 < 3382226-22--solr_version_check_bug.patch

 

// view_mode_page

cd web/modules/contrib/view_mode_page/
wget https://www.drupal.org/files/issues/2023-05-01/3300706-17-context_exception_when_trying_to_create_url_0.patch
patch -p1 < 3300706-17-context_exception_when_trying_to_create_url_0.patch

 

modules\contrib\back_to_top\js\back_to_top.js

(function ($) {
    Drupal.behaviors.backtotop = {
        attach: function (context, settings) {
            var exist = $('#backtotop').length;
            if (exist == 0) {
                $(once('backtotop', "body", context)).each(function () {
                    $('body').append("<button id='backtotop'>" + settings.back_to_top.back_to_top_button_text + "</button>");
                });
            }
            backToTop();
            $(window).scroll(function () {
                backToTop();
            });
            $(once('backtotop', '#backtotop', context)).each(function () {
                $(this).click(function () {
                    $("html, body").bind("scroll mousedown DOMMouseScroll mousewheel keyup", function () {
                        $('html, body').stop();
                    });
                    // $('html,body').animate({scrollTop: 0}, 1200, 'easeOutQuart', function () {
                    $('html,body').animate({scrollTop: 0}, 350, 'linear', function () {
                        $("html, body").unbind("scroll mousedown DOMMouseScroll mousewheel keyup");
                    });
                    return false;
                });
            });
            /**
             * Hide show back to top links.
             */
            function backToTop() {
                if ($(window).scrollTop() > settings.back_to_top.back_to_top_button_trigger) {
                    $('#backtotop').fadeIn();
                } else {
                    $('#backtotop').fadeOut();
                }
            }
        }
    };
})(jQuery);

I had this exact issue and your site was the only place I found the fix.

It'd be nice if the module developer applied your fix though.

Good work! Much appreciated!

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 3 weeks 2 days ago
    CPU benchmarking with sysbench (single-threaded/all cores)

     

    # sysbench --threads="$(nproc)" cpu run

  • 3 weeks 2 days ago
    CPU benchmarking with sysbench (single-threaded/all cores)

    # sysbench --threads="$(nproc)" cpu run

  • 3 weeks 2 days ago
    Linux Autovervollständigung - bash autocomplete
    source ~/.bashrc

    Diese Lösung wird empfohlen aber hat bei mir nicht funktioniert.

    Welche Alternative gibt es?

  • 3 weeks 2 days ago
    PHP-CLI auf PHP8.2 umstellen (für Composer, Drush etc)

    ln -snf /opt/plesk/php/8.3/bin/php /etc/alternatives/php

  • 4 weeks ago
    Drush Update failed (require php >=8.2)

    In composer.json, update: 

     

  • 4 weeks ago
    Drupal: Anmeldung fehlgeschlagen Es hat mehr als 5 fehlerhafte Anmeldeversuche für dieses Benutzerkonto gegeben. Es ist vorübergehend gesperrt.
    drush sqlq "DELETE FROM flood"
  • 4 weeks ago
    Drupal SMTP + Gmail funktioniert nicht mehr (Passwort ist richtig); was ist die Lösung?
  • 4 weeks ago
    Failed to authenticate on SMTP server with username gmail.com using the following authenticators: "LOGIN", "PLAIN", "XOAUTH2". Authenticator "LOGIN" returned "Expected response code "235" but got code "535",

    Type    symfony_mailer
    Date    Mo, 28. 08 2024 - 10:14
    User    admin

  • 1 month 1 week ago
    Failed to authenticate on SMTP server with username gmail.com using the following authenticators: "LOGIN", "PLAIN", "XOAUTH2". Authenticator "LOGIN" returned "Expected response code "235" but got code "535",

    Update two fields (blob) in Table "config"!

    Search 'name': 

    1. smtp.settings 
    2. symfony_mailer.mailer_transport.smtp

     

     

  • 1 month 3 weeks ago
    The following embed button(s) are not using SVG icons and will not be compatible with CKEditor5

    Admin:

    • /admin/config/content/embed/button/manage/media
    • /admin/config/content/embed

     

    Convert PNG to SVG & Upload!