Résoudre l'erreur Git "Project with that name already exists" (Projet portant ce nom existe déjà)

Cette page explique comment résoudre l'erreur "Project with that name already exists" (Un projet portant ce nom existe déjà) dans Looker. Cette erreur peut se produire lorsque vous tentez de créer un projet avec un nom déjà utilisé par un autre projet, même si ce projet n'est pas visible dans l'interface utilisateur. Cette erreur se produit généralement parce que des restes du projet, souvent dans une branche Git ou dans le système de fichiers du serveur, existent toujours.

Arbre de dépannage

Utilisez l'arbre de décision suivant pour résoudre cette erreur. Ouvrez l'arbre de décision dans un nouvel onglet pour effectuer un zoom avant.

Procédure de dépannage

Les sections suivantes décrivent plus en détail les scénarios de l'arbre.

Étape 1 : Vérifier les branches de développement

Des restes d'un projet peuvent exister dans une ou plusieurs branches de développement. Pour vérifier les branches de développement, procédez comme suit :

  1. Activez le mode Développement.
  2. Accédez à vos projets LookML et vérifiez chaque branche de développement, en particulier les branches personnelles, pour trouver un projet portant le nom en conflit.
  3. Si vous trouvez un projet portant le nom en conflit, supprimez-le dans l'IDE, validez la modification, puis déployez-le en production pour supprimer la référence Git persistante.

Étape 2 : Réinitialiser la connexion Git

La réinitialisation de la connexion Git peut forcer le nettoyage des incohérences du dépôt local. Pour réinitialiser la connexion Git, procédez comme suit :

  1. Accédez aux paramètres du projet.
  2. Dans l'onglet Configuration, sélectionnez Réinitialiser la connexion Git.
  3. Saisissez à nouveau l'URL Git. Si vous utilisez SSH, importez la nouvelle clé de déploiement auprès de votre fournisseur Git.

Étape 3 : Vérifier les projets en attente

Un modèle peut avoir été configuré à l'aide du nom du projet sans que le projet lui-même n'ait jamais été généré. Cela aurait créé un projet en attente. Pour vérifier les projets en attente, procédez comme suit :

  1. Activez le mode Développement.
  2. Affichez la page Projets LookML.
  3. Consultez la section Projets en attente. Si un projet existe avec le nom en conflit, supprimez la configuration du modèle en attente.

Étape 4 : Résolution côté serveur (dépôts nus uniquement)

Si votre instance Looker utilise un dépôt Git nu (hébergé par le client), les fichiers peuvent persister sur le serveur. Pour libérer de l'espace sur le serveur, connectez-vous au serveur hôte Looker et renommez ou supprimez manuellement les dossiers de dépôt nus associés au projet :

  • Renommez ou supprimez le répertoire : ~/models/YOUR_PROJECT_TO_DELETE
  • Renommez ou supprimez le répertoire de dépôt nu : ~/bare_models/YOUR_PROJECT_TO_DELETE.git

Étape 5 : Supprimer le projet à l'aide de l'API Looker

Si les étapes précédentes ne résolvent pas l'erreur, vous pouvez utiliser l'API Looker pour supprimer manuellement le projet afin de forcer un nettoyage interne. Cette méthode utilise les points de terminaison de l'API 4.0 et nécessite des droits d'administrateur Looker.

1. Obtenir un jeton d'accès

Utilisez vos identifiants API (ID client et code secret) pour obtenir un jeton porteur.

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

La réponse contiendra un access_token.

2. Passer la session en mode Développement

Vous devez supprimer le projet en mode Développement. Le passage en mode Développement modifie le contexte de la session 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. Supprimer le projet

Une fois la session en mode Développement, utilisez le point de terminaison DELETE /projects/{project_id} pour supprimer le projet.

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"

Un appel réussi renvoie une réponse vide (204 No Content) ou un message de suppression réussi. Vous devriez maintenant pouvoir recréer le projet dans l'interface utilisateur Looker.

Ces appels d'API peuvent également être effectués à l'aide d'outils d'API tels que Postman.

Dernière vérification et assistance

Si cette procédure de dépannage ne résout pas l'erreur, contactez l'assistance pour obtenir de l'aide.

Autres ressources