Risoluzione dei problemi relativi all'errore Git "Project with that name already exists"

Questa pagina descrive come risolvere l'errore"Esiste già un progetto con questo nome" in Looker. Questo errore può verificarsi quando tenti di creare un nuovo progetto con un nome già in uso da un altro progetto, anche se questo progetto non è visibile nell'interfaccia utente. Questo errore si verifica in genere perché esistono ancora i resti del progetto, spesso in un ramo Git o nel file system del server.

Albero di risoluzione dei problemi

Utilizza la seguente struttura decisionale per risolvere il problema. Apri l'albero decisionale in una nuova scheda per ingrandirlo.

Passaggi per la risoluzione dei problemi

Le sezioni seguenti descrivono in modo più dettagliato gli scenari nell'albero.

Passaggio 1: controlla i rami di sviluppo

I resti di un progetto potrebbero esistere in uno o più rami di sviluppo. Per controllare i rami di sviluppo:

  1. Attiva la modalità di sviluppo.
  2. Vai ai tuoi progetti LookML e controlla ogni ramo di sviluppo, in particolare i rami personali, per un progetto con il nome in conflitto.
  3. Se trovi un progetto con il nome in conflitto, eliminalo nell'IDE, esegui il commit della modifica e poi esegui il deployment in produzione per rimuovere il riferimento Git rimanente.

Passaggio 2: reimposta la connessione Git

Il ripristino della connessione Git può forzare la pulizia delle incoerenze del repository locale. Per reimpostare la connessione Git:

  1. Vai alle impostazioni del progetto.
  2. Nella scheda Configurazione, seleziona Reimposta connessione Git.
  3. Inserisci di nuovo l'URL Git. Se utilizzi SSH, carica la nuova chiave di deployment sul tuo fornitore Git.

Passaggio 3: controlla i progetti in attesa

Un modello potrebbe essere stato configurato utilizzando il nome del progetto senza che il progetto stesso sia mai stato generato. In questo modo sarebbe stato creato un progetto in attesa. Per verificare la presenza di progetti in attesa:

  1. Attiva la modalità di sviluppo.
  2. Visualizza la pagina Progetti LookML.
  3. Controlla la sezione Progetti in attesa. Se esiste un progetto con il nome in conflitto, elimina la configurazione del modello in attesa.

Passaggio 4: risoluzione lato server (solo repository bare)

Se la tua istanza di Looker utilizza un repository Git bare (ospitato dal cliente), i file potrebbero rimanere sul server. Per liberare spazio dai file sul server, accedi al server host di Looker e rinomina o elimina manualmente le cartelle del repository bare associate al progetto:

  • Rinomina o elimina la directory: ~/models/YOUR_PROJECT_TO_DELETE
  • Rinomina o elimina la directory del repository bare: ~/bare_models/YOUR_PROJECT_TO_DELETE.git

Passaggio 5: elimina il progetto utilizzando l'API Looker

Se i passaggi precedenti non risolvono l'errore, puoi utilizzare l'API Looker per eliminare manualmente il progetto e forzare una pulizia interna. Questo metodo utilizza gli endpoint API 4.0 e richiede i privilegi di amministratore di Looker.

1. Ottenere un token di accesso

Utilizza le credenziali API (ID client e Secret) per ottenere un token di autenticazione.

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

La risposta conterrà un access_token.

2. Passare alla modalità di sviluppo

Devi eliminare il progetto in modalità di sviluppo. Il passaggio alla modalità di sviluppo modifica il contesto della sessione 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. Elimina il progetto

Una volta che la sessione è in modalità di sviluppo, utilizza l'endpoint DELETE /projects/{project_id} per eliminare il progetto.

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"

Una chiamata riuscita restituirà una risposta vuota (204 No Content) o un messaggio di eliminazione riuscita. Ora dovresti essere in grado di ricreare il progetto nella UI di Looker.

Queste chiamate API possono essere eseguite anche utilizzando strumenti API come Postman.

Revisione finale e assistenza

Se questi passaggi di risoluzione dei problemi non risolvono l'errore, contatta l'assistenza per ulteriore assistenza.

Risorse aggiuntive