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.

  1. Adicione SSH ao servidor e execute este comando:

    bin/magento
    
  2. 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.
    
  3. 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);
    
  4. 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);
    
  5. 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);
    
  6. 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);