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

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 8 — заменяем в статье Image на Media

Заменим во всех статьях стандартную картинку на объект media. Данную операцию поможет сделать новый модуль Media Library. Он появился в drupal 8.6 на уровне ядра. С появлением этого модуля у нас есть возможность работать с media-объектами "из коробки".

Теги