Рейтинг:0

Есть ли способ понизить ядро ​​с 9.3.6 до 9.2.7?

флаг ua

После обновления версии ядра Drupal с 9.2.7 до 9.3.6 я получил ошибку.

TypeError: Аргумент 1, переданный Drupal\Core\File\FileUrlGenerator::generateAbsoluteString(), должен быть строкового типа, задан нуль

Я попытался применить патч в TypeError: Аргумент 1, переданный в Drupal\Core\File\FileUrlGenerator::generateString(), должен быть строкового типа, задан нуль но выдает ошибку.

Не удалось применить патч! Пропуская. Ошибка: Невозможно применить патч 3254245-78.patch.

Можно ли понизить версию ядра, чтобы избавиться от этой проблемы?

berliner avatar
флаг bd
Какой патч из этого выпуска вы пробовали? Последние против 9.4, поэтому неудивительно, что они не применяются. Возможно, попробуйте https://www.drupal.org/project/drupal/issues/3254245#comment-14339531 перед понижением версии. И да, понизить ядро ​​— это вариант, но, вероятно, не лучший. Drupal 9.2 по-прежнему поддерживается до 15 июня 2022 г., см. https://www.drupal.org/about/core/policies/core-release-cycles/schedule.
Sam Bara avatar
флаг ua
Я попытался применить патч, который вы упомянули, но я получаю ту же ошибку.
apaderno avatar
флаг us
Просто подождите, патч будет зафиксирован. Обычно коммитят на Drupal 9.4 и Drupal 9.3. Как сказал @berliner, последний рабочий патч предназначен для Drupal 9.4; без выбора вишни невозможно использовать его на Drupal 9.3.
Рейтинг:0
флаг cn

Если вы уже запускали обновления базы данных, нет, вы не можете перейти на более раннюю версию; вам нужно исправить ошибку.

Если вы не запускали обновления базы данных, вы сможете без проблем вернуть код (например, в git, если вы его используете).

Настоящее решение состоит в том, чтобы всегда делайте резервную копию базы данных (и резервную копию кода, если вы не используете контроль версий) перед тем, как что-либо обновлять.

Если у вас уже есть резервная копия базы данных

Вы можете переустановить старую версию Drupal (9.2.7), а затем восстановить резервную копию базы данных, и все должно быть в порядке. Вы можете сделать это локально с любой средой, которую вы используете для разработки своего сайта.

Sam Bara avatar
флаг ua
У меня есть резервная копия базы данных, но я не использую какой-либо тип контроля версий, возможно ли это сделать в локальной среде?
флаг cn
@SamBara Да, проблем быть не должно. Восстановить код; затем восстановите базу данных.
Sam Bara avatar
флаг ua
Могу ли я использовать тот же метод, который используется для обновления Drupal вручную, например, удалить все файлы, кроме файлов сайтов, модулей и профилей, а затем вставить файл из этого zip-архива?
флаг cn
@SamBara Да, можешь. Вы можете установить старую версию точно так же, как и обновиться до новой версии. В будущем вы сможете значительно облегчить себе жизнь, если научитесь использовать git для контроля версий и таким образом установите Drupal; используя git, вы можете отменить неудачное обновление с помощью одной команды (`git revert`) и восстановления базы данных.
Sam Bara avatar
флаг ua
Спасибо за помощь, мой сайт снова работает.
флаг cn
@SamBara Не за что. Однако на *Drupal Answers* и других сетевых сайтах Stack Exchange вам не нужно говорить спасибо; вместо этого установите флажок, чтобы принять ответ, и проголосуйте за вопрос, нажав стрелку вверх.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.