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

Permanenter Link

// 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

 

Permanenter Link

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);

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 days ago
    Bootstrap 5 subtheme is not properly configured. This may be caused by a problem with file or directory permissions.
  • 1 week 5 days ago
    Site URI : http://default (Drupal, how2 update config?)

    Add this line to drupalroot/vendor/drush/drush/drush.yml

    
    options:
         uri: 'https://www.example.com/'
    

     

    drush.yml looks like:

  • 1 month 2 weeks ago
    Webserver CPU Performance Test mit PHP

    Time: 0,19 

    CPU: AMD Ryzen 7 PRO 3700 8-Core Processor

  • 3 months ago
    TypeError: Cannot assign null to property Drupal \ views \ Plugin \ views \ argument \ ArgumentPluginBase::$operator of type string

    Line 63, 99 :

     -    $this->operator = $break->operator;
     +    if($break->operator){
     +        $this->operator = $break->operator;
     +    }

     

  • 4 months ago
    Drupal + Basic_Auth Problem : You do not have permission to access this page (Sie haben keine Zugriffsberechtigung für diese Seite. )

    My problem was:

  • 4 months ago
    Drupal Upgrade (Drupal 9 » Drupal 10)

    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!

  • 5 months ago
    The datasource with ID 'elstut--entity:node' could not be retrieved for index (Drupal, Solr)

    Hier ist die Lösung. (/admin/config/search/search-api/server/solr_server/edit)

    Multisite-Kompatibilität
     + Nur Ergebnisse von dieser Seite beziehen
     

  • 5 months 1 week ago
    PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock

     

    Ich bekomme diese Fehlermeldung:

  • 6 months ago
    Install APCu (PHP 8.1, Plesk)

    PHP 8.2

    apt update
    apt install plesk-php81-dev zlib1g-dev
    /opt/plesk/php/8.2/bin/pecl install apcu
    echo "extension=apcu.so" > /opt/plesk/php/8.2/etc/php.d/apcu.ini
    

     

  • 6 months 3 weeks ago
    BadRequestHttpException: The theme must be passed as a query argument in Drupal \ system \ Controller \ AssetControllerBase->deliver()

    Anfragen werden für veraltete CSS-/JS-URLs empfangen (Cache). Die Lösung wäre JavaScript und CSS-Aggregation erneut aktivieren.