Memecahkan masalah error Git "Project with that name already exists" (Project dengan nama tersebut sudah ada)

Halaman ini menjelaskan cara memecahkan masalah error "Project with that name already exists" di Looker. Error ini dapat terjadi saat Anda mencoba membuat project baru dengan nama yang sudah digunakan oleh project lain, meskipun project tersebut tidak terlihat di UI. Error ini biasanya terjadi karena sisa project—sering kali di cabang Git atau di sistem file server—masih ada.

Pohon pemecahan masalah

Gunakan pohon keputusan berikut untuk memecahkan masalah error ini. Buka pohon keputusan di tab baru untuk memperbesar.

Langkah-langkah pemecahan masalah

Bagian berikut menjelaskan skenario dalam pohon secara lebih mendetail.

Langkah 1: Periksa cabang pengembangan

Sisa project mungkin ada di satu atau beberapa cabang pengembangan. Untuk memeriksa cabang pengembangan, ikuti langkah-langkah berikut:

  1. Aktifkan Mode Pengembangan.
  2. Buka project LookML Anda dan periksa setiap cabang pengembangan—terutama cabang pribadi—untuk project dengan nama yang sama.
  3. Jika Anda menemukan project dengan nama yang sama, hapus project di IDE, lakukan commit perubahan, lalu deploy ke produksi untuk menghapus referensi Git yang tersisa.

Langkah 2: Reset koneksi Git

Mereset koneksi Git dapat memaksa pembersihan inkonsistensi repositori lokal. Untuk mereset koneksi Git, ikuti langkah-langkah berikut:

  1. Buka Project Settings untuk project.
  2. Di tab Configuration, pilih Reset Git Connection.
  3. Masukkan kembali URL Git. Jika Anda menggunakan SSH, upload kunci deployment baru ke penyedia Git Anda.

Langkah 3: Periksa project yang tertunda

Model mungkin telah dikonfigurasi menggunakan nama project tanpa project itu sendiri pernah dibuat. Tindakan ini akan membuat project yang tertunda. Untuk memeriksa project yang tertunda, ikuti langkah-langkah berikut:

  1. Aktifkan Mode Pengembangan.
  2. Lihat halaman LookML Projects.
  3. Periksa bagian Pending Projects. Jika ada project dengan nama yang sama, hapus konfigurasi model yang tertunda.

Langkah 4: Resolusi sisi server (hanya repositori kosong)

Jika instance Looker Anda menggunakan repositori Git kosong (dihosting pelanggan), file mungkin masih ada di server. Untuk membersihkan file di server, login ke server host Looker dan ganti nama atau hapus folder repositori kosong yang terkait dengan project secara manual:

  • Ganti nama atau hapus direktori: ~/models/YOUR_PROJECT_TO_DELETE
  • Ganti nama atau hapus direktori repositori kosong: ~/bare_models/YOUR_PROJECT_TO_DELETE.git

Langkah 5: Hapus project menggunakan Looker API

Jika langkah-langkah sebelumnya tidak menyelesaikan error, Anda dapat menggunakan Looker API untuk menghapus project secara manual guna memaksa pembersihan internal. Metode ini menggunakan endpoint API 4.0 dan memerlukan hak istimewa Admin Looker.

1. Mendapatkan token akses

Gunakan kredensial API Anda (Client ID dan Secret) untuk mendapatkan token pembawa.

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

Respons akan berisi access_token.

2. Mengalihkan sesi ke Mode Pengembangan

Anda harus menghapus project dalam Mode Pengembangan. Beralih ke Mode Pengembangan akan mengubah konteks sesi 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. Menghapus project

Setelah sesi berada dalam Mode Pengembangan, gunakan endpoint DELETE /projects/{project_id} untuk menghapus project.

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"

Panggilan yang berhasil akan menampilkan respons kosong (204 No Content) atau pesan penghapusan yang berhasil. Sekarang Anda dapat membuat ulang project di UI Looker.

Panggilan API ini juga dapat dilakukan menggunakan alat API seperti Postman.

Peninjauan dan dukungan akhir

Jika langkah-langkah pemecahan masalah ini gagal menyelesaikan error, hubungi Dukungan untuk memecahkan masalah lebih lanjut.

Referensi lainnya