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..
Выглядит она так
Означает она что в таблице authorization_role нет записи с role_name = Administrator. Эту запись удаляют/меняют при распределении ролей или в качестве меры безопасности.
Добавить ее можно выполнив в базе вот такой SQL код
1 2 3 4 5 6 |
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
1 2 3 4 5 6 7 8 |
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' ) |
После этого команда создания пользователя должна начать работать
1 2 3 4 5 6 7 8 |
php bin/magento admin:user:create \ --admin-user='developer' \ --admin-password='dev123' \ --admin-email='developer@site.com' \ --admin-firstname='Developer' \ --admin-lastname='Developer' |
Если же проблемы сохранятся, попробуйте сбросить кеш и очистить папку generated
1 2 3 4 5 6 7 8 9 |
# в папке где находится magento # удаляем все из var и generated rm -rf var/* generated/* # очищаем кеш php bin/magento c:c |
Author: | Tags: /
| Rating:
Leave a Reply