X

Magento 2: Exception - No Administrators role was found, data fixture needs to be run

При попытке создать администратора с помощью консольной утилиты, получил ошибку: No Administrators role was found, data fixture needs to be run..

Выглядит она так

Magenot 2: No Administrators role was found, data fixture needs to be run

Означает она что в таблице authorization_role нет записи с role_name = Administrator. Эту запись удаляют/меняют при распределении ролей или в качестве меры безопасности.

Добавить ее можно выполнив в базе вот такой SQL код

INSERT INTO `authorization_role` 
(`parent_id`, `tree_level`, `sort_order`, `role_type`, `user_id`, `user_type`, `role_name`, `gws_is_all`, `gws_websites`, `gws_store_groups`)
VALUES 
('0', '1', '0', 'G', '0', '2', 'Administrators', '1', '1,3,4,7,6,5,8', '1,3,4,7,6,5,8');

После этого, id этой записи нужно добавить в таблицу authorization_rule

INSERT INTO `authorization_rule`
(`role_id`, `resource_id`, `privileges`, `permission`)
VALUES (
(SELECT role_id FROM authorization_role WHERE role_name='Administrators' LIMIT 1), 
'Magento_Backend::all', NULL, 'allow'
)

После этого команда создания пользователя должна начать работать

php bin/magento admin:user:create \
 --admin-user='developer' \
 --admin-password='dev123' \
 --admin-email='developer@site.com' \
 --admin-firstname='Developer' \
 --admin-lastname='Developer'

Если же проблемы сохранятся, попробуйте сбросить кеш и очистить папку generated

# в папке где находится magento

# удаляем все из var и generated
rm -rf var/* generated/*

# очищаем кеш
php bin/magento c:c

Категории: Magento
Тэги: errorm2magento 2