Como resolver o erro do Git "Project with that name already exists"

Esta página descreve como solucionar o erro "Já existe um projeto com esse nome" no Looker. Esse erro pode ocorrer quando você tenta criar um projeto com um nome que já está sendo usado por outro projeto, mesmo que ele não esteja visível na UI. Esse erro geralmente ocorre porque ainda existem remanescentes do projeto, muitas vezes em uma ramificação do Git ou no sistema de arquivos do servidor.

Árvore de solução de problemas

Use o diagrama de decisão a seguir para resolver esse erro. Abra a árvore de decisão em uma nova guia para aumentar o zoom.

Etapas da solução de problemas

As seções a seguir descrevem os cenários na árvore em mais detalhes.

Etapa 1: verificar ramificações de desenvolvimento

Restos de um projeto podem existir em uma ou mais ramificações de desenvolvimento. Para verificar as ramificações de desenvolvimento, siga estas etapas:

  1. Ative o Modo de desenvolvimento.
  2. Navegue até seus projetos do LookML e verifique todas as ramificações de desenvolvimento, principalmente as pessoais, para encontrar um projeto com o nome conflitante.
  3. Se você encontrar um projeto com o nome conflitante, exclua-o no ambiente de desenvolvimento integrado, faça o commit da mudança e implante na produção para remover a referência do Git.

Etapa 2: redefinir a conexão do Git

A redefinição da conexão do Git pode forçar uma limpeza das inconsistências do repositório local. Para redefinir a conexão do Git, siga estas etapas:

  1. Acesse Configurações do projeto.
  2. Na guia Configuração, selecione Redefinir conexão do Git.
  3. Insira o URL do Git novamente. Se você estiver usando SSH, faça upload da nova chave de implantação para seu provedor Git.

Etapa 3: verificar projetos pendentes

Um modelo pode ter sido configurado usando o nome do projeto sem que ele tenha sido gerado. Isso teria criado um projeto pendente. Para verificar se há projetos pendentes, siga estas etapas:

  1. Ative o Modo de desenvolvimento.
  2. Acesse a página Projetos do LookML.
  3. Verifique a seção Projetos pendentes. Se um projeto com o nome conflitante existir, exclua a configuração de modelo pendente.

Etapa 4: resolução do lado do servidor (somente repositórios simples)

Se a instância do Looker usar um repositório Git simples (hospedado pelo cliente), os arquivos poderão permanecer no servidor. Para limpar os arquivos no servidor, faça login no servidor host do Looker e renomeie ou exclua manualmente as pastas do repositório simples associadas ao projeto:

  • Renomeie ou exclua o diretório: ~/models/YOUR_PROJECT_TO_DELETE
  • Renomeie ou exclua o diretório do repositório simples: ~/bare_models/YOUR_PROJECT_TO_DELETE.git

Etapa 5: excluir o projeto usando a API Looker

Se as etapas anteriores não resolverem o erro, use a API Looker para excluir manualmente o projeto e forçar uma limpeza interna. Esse método usa os endpoints da API 4.0 e exige privilégios de administrador do Looker.

1. Receber um token de acesso

Use suas credenciais da API (ID do cliente e chave secreta) para receber um token de autenticação.

curl -d "client_id=CLIENT_ID&client_secret=CLIENT_SECRET" https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/login

A resposta vai conter um access_token.

2. Mudar a sessão para o Modo de Desenvolvimento

Você precisa excluir o projeto no modo de desenvolvimento. A mudança para o Modo de Desenvolvimento altera o contexto da sessão da API.

curl -X PATCH "https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/session" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer BEARER_TOKEN" \
-d '{"workspace_id": "dev"}'

3. Excluir o projeto

Quando a sessão estiver no modo de desenvolvimento, use o endpoint DELETE /projects/{project_id} para excluir o projeto.

curl -X DELETE "https://INSTANCE_HOSTNAME.cloud.looker.com/api/4.0/projects/PROJECT_ID_TO_DELETE" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer BEARER_TOKEN"

Uma chamada bem-sucedida vai retornar uma resposta vazia (204 No Content) ou uma mensagem de exclusão bem-sucedida. Agora você pode recriar o projeto na interface do Looker.

Essas chamadas de API também podem ser feitas usando ferramentas de API, como o Postman.

Revisão final e suporte

Se essas etapas não resolverem o problema, entre em contato com o suporte para receber mais ajuda.

Outros recursos