Resolução
Se você tiver apenas um site, o segundo teste para os sites não se aplica e você só precisa testar as lojas.
Para resolver esse problema, identifique as linhas inválidas restantes dessas configurações.
-
Adicione SSH ao servidor e execute este comando:
bin/magento
-
A mensagem de erro pode indicar quais linhas e tabelas permanecem no banco de dados a partir de sites excluídos. Por exemplo, o seguinte erro indica que o armazenamento solicitado não foi encontrado:
... In StoreRepository.php line 112: The store that was requested wasn't found. Verify the store and try again.
-
Execute esta consulta do MySQL para verificar se o armazenamento não foi encontrado, o que é indicado pela mensagem de erro na etapa 2.
select distinct scope_id from core_config_data where scope='stores' and scope_id not in (select store_id from store);
-
Execute a seguinte instrução MySQL para excluir as linhas inválidas:
delete from core_config_data where scope='stores' and scope_id not in (select store_id from store);
-
Execute este comando novamente:
bin/magento
Se você receber um erro como o abaixo, que indica que o site com a ID X solicitada não foi encontrado, você tem configurações restantes no banco de dados do(s) site(s), bem como da(s) loja(s), que foram excluídas.
In WebsiteRepository.php line 110: The website with id X that was requested wasn't found. Verify the website and try again.
Execute esta consulta do MySQL e verifique se o site não pode ser encontrado:
select distinct scope_id from core_config_data where scope='websites' and scope_id not in (select website_id from store_website);
-
Execute esta instrução MySQL para excluir as linhas inválidas da configuração do site:
delete from core_config_data where scope='websites' and scope_id not in (select website_id from store_website);