Перейти к основному содержанию

Drupal — The 'entity:user' context is required and not present

Drupal 9

Восстанавливаем базу Drupal 9 из бэкапа и при попытке войти гостем получаем ошибку:

The 'entity:user' context is required and not present.

Постоянно на эти грабли наступаю.

drupal

Всё дело в волшебных пузырьках... Для гостевого входа в Drupal существует специальный пользователь с идентификатором "0". Всем DBA прекрасно известно, что вставить в таблицу с автоинкрементом идентификатор "0" можно только с помощью волшебного пенделя, который нужно добавить в SQL скрипт:

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

Но если вы забыли это сделать, то ничего страшного. Смотрим таблицу users.

drupal

Находим в ней максимальный идентификатор, у меня "7", данный пользователь и будет гостем. Мне проще, у меня в примере всего два пользователя, и первый — админ. Но мы можем себя проверить, заглянув в SQL скрипт и поискав там нужную запись по UUID.

sql

Ну да, там должен быть идентификатор "0", а не "7".

UPDATE users SET uid=0 WHERE uid=7;

sql

Можно, конечно, что-нибудь универсальное написать, но это лишнее, на мой взгляд.

Ссылки

https://www.drupal.org/project/drupal/issues/3056234

Теги

 

Похожие материалы

Drupal 9 — модуль Ludwig, ручная альтернатива Composer

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

Теги

Drupal 8 — создаем Media Type: Remote video

В Drupal 8.6 несколько типов медиа создаются автоматически при включении модуля Media. Но есть маленький баг. Если у вас Media был ранее включён и вы обновили ядро Drupal, то дополнительные типы медиа не создадутся. У меня так потерялся новый тип Remote video. Можно отключить модуль Media, и включить его снова, весь набор типов медия при этом создастся, но вы потеряете все загруженные ранее медиа-объекты и настройки. Это печально. Без паники!

Теги