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
Patches Sa, 10/14/2023 - 13:09
// 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
Patch back_to_top.js Mi, 10/18/2023 - 12:17
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);
Uncaught Error: Class/function not found: [Drupal.shs.AppModel] Mi, 10/18/2023 - 12:39
Uncaught ReferenceError: Backbone is not defined
Uncaught Error: Class/function not found: [Drupal.shs.AppModel]
Thank you for sharing Di, 02/06/2024 - 19:15
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