Mulai
Koleksi dan field
Definisikan field, relasi, dan index koleksi, periksa grafik skema, serta pahami batas upload dan database.
Setelah membaca panduan ini, kamu akan tahu cara menyusun koleksi, menambah field dengan aman, serta memilih relasi, index, dan referensi file sesuai database.
1. Definisikan field di data model
Buka Settings → Data model untuk membuat field, relasi, dan index. Halaman koleksi berfokus pada record. Koleksi berupa tabel SQL sungguhan. Kanesh mendukung tujuh tipe skalar ditambah referensi file dan image. Kontrak query secara eksplisit menyebut string, text, datetime, dan json; periksa capabilities adapter aktif untuk tipe field dan perubahan penyimpanan yang didukung.
Client terotorisasi bisa membaca GET /api/v1/workspaces/:workspace/capabilities. Studio memakai metadata ini saat menyiapkan koleksi.
Setiap koleksi mengekspos system field read-only:
| Field | Perilaku |
|---|---|
id | Identitas record yang dikelola sistem. Impor menghasilkan ID baru. |
created_at | Waktu pembuatan UTC RFC3339 yang dikelola server. |
updated_at | Waktu pembaruan UTC RFC3339 yang dikelola server. |
Note: Skema versi 2 mempertahankan timestamp yang tidak diketahui pada record lama sebagai null. Selesaikan field kustom yang memakai nama timestamp khusus sistem sebelum upgrade.
Field opsional bisa ditambahkan ke koleksi yang sudah berisi data. Penambahan field wajib memerlukan tabel kosong. Konversi field yang sudah berisi data dan perubahan primary key masih direncanakan.
2. Pilih relasi atau lookup read-only
Di SQLite dan PostgreSQL, relasi N:1, 1:N, dan N:N memakai tabel junction terkelola dengan foreign key sungguhan dan batasan kardinalitas. Pembaruan link bersifat eksplisit, atomik, terbatas pada workspace, dan maksimal 100 target; N:1 mengizinkan satu target. Alias invers dan penulisan relasi bersarang melalui GraphQL belum tersedia.
Lookup read-only berbeda: lookup mencocokkan field string dengan ID record lain dan menampilkan field terkait yang dipilih. Lookup tidak membentuk batasan foreign key. Lihat REST API untuk batas query.
3. Tambahkan index terkelola
SQLite dan PostgreSQL mendukung maksimal 16 index terkelola tambahan per koleksi. Setiap index memakai 1–4 field reguler berurutan dan bisa bersifat unik. Izin owner/admin diperlukan, dan primary index dilindungi.
Nilai duplikat yang sudah ada membuat pembuatan unique index ditolak secara atomik. Index menambah penggunaan penyimpanan dan biaya penulisan, jadi pilih field yang sesuai dengan query. Pembuatan index secara online belum tersedia. Perubahan penyimpanan yang memutus lookup tersimpan atau membuang index SQLite diblokir.
4. Periksa grafik skema
Pengaturan Studio menyediakan grafik skema terotorisasi dengan lookup tersimpan, pencarian, fokus, zoom, serta detail koleksi/koneksi. Kolom terkait bisa memakai kembali pemetaan tersimpan. Client terotorisasi bisa membaca metadata sesuai cakupan akses dan capabilities index melalui GET /api/v1/workspaces/:workspace/schema-model.
5. Gunakan field file dan image
Field file dan image mereferensikan upload workspace terotorisasi, yang disimpan di database atau di S3. Batasnya 2 MiB per file. Gambar PNG, JPEG, GIF, dan WebP didukung hingga 16M piksel.
Unduhan memerlukan autentikasi; konten umum disajikan sebagai attachment. Pemilih file menampilkan 50 file terbaru. Penulisan REST dan GraphQL skalar memvalidasi referensi file.
Note: Transfer CSV/JSON berisi ID file, bukan file biner atau link relasi.
Pemecahan masalah
- Field wajib tidak bisa ditambahkan: penambahan field wajib memerlukan koleksi kosong; field opsional bisa ditambahkan ke koleksi berisi data.
- Pembuatan unique index gagal: periksa nilai duplikat pada field yang dipilih.
- Upload ditolak: periksa batas 2 MiB dan, untuk gambar, format serta batas 16M piksel.