Bu bölümde
Nesneler
defineObject — kendi alanlarına sahip yeni kayıt türleri bildirin.Nesneleri Genişletme
defineField — standart nesnelere veya diğer uygulamaların nesnelerine alanlar ekleyin.İlişkiler
Nesneler arasında çift yönlü
MANY_TO_ONE / ONE_TO_MANY bağlantıları.Varlıklara genel bakış
| Varlık | Amaç | Şununla tanımlanır |
|---|---|---|
| Nesne | Kendi alanlarına sahip yeni bir özel kayıt türü (ör. PostCard, Invoice) | defineObject() |
| Alan | Bir nesne üzerindeki sütun. Bağımsız alanlar, oluşturmadığınız nesneleri genişletebilir (ör. Company nesnesine loyaltyTier ekleyin) | defineField() |
| İlişki | İki nesne arasında, her iki tarafı da alan olarak bildirilmiş çift yönlü bir bağlantı | defineField() ile FieldType.RELATION |
| Dizin | Nesnelerinizden biri üzerinde yinelenen bir sorguyu hızlandırmak için bir veritabanı dizini | defineIndex() |
src/objects/, src/fields/ ve src/indexes/ dizinleridir. Kararlı universalIdentifier UUID’leri, dağıtımlar arasında her şeyi birbirine bağlar.
Dizinler (İsteğe bağlı)
Uygulamalar, yinelenen sorguları hızlı tutmak için nesneleriyle birlikte dizinler sunabilir. En yaygın durum, sık okuduğunuz bir durum ya da yabancı anahtar sütunudur.src/indexes/post-card-status.index.ts
Benzersiz dizinler
defineIndex, hem tek sütunlu hem çok sütunlu benzersizlik için isUnique: true kabul eder. Önerilen yöntem budur — defineField({ isUnique: true }) kullanımdan kaldırılmıştır ve gelecekteki bir sürümde kaldırılacaktır.
Diğer kısıtlamalar
- Kısmi
WHEREkoşulları yönetici kontrolü altında kalır — uygulamalar bunları tanımlayamaz. - Her nesne, 10 özel dizin ile sınırlandırılmıştır (framework’ün kendi dizinleri buna dahil değildir).
fields dizisini, Postgres’in kullanması gereken şekilde sıralayın — en soldaki sütun ilk, bir telefon rehberinde olduğu gibi. Dizinler bedava değildir: tabloya yapılan her yazma işlemi bunları günceller. Bir dizini yalnızca ona ihtiyaç duyan bir sorgunuz olduğunda ekleyin.
Application Config veya Roles & Permissions mı arıyorsunuz? Bunlar, ekledikleri verilerden çok uygulamanın kendisini tanımlar — Config altında bulunurlar. Connections (Linear, GitHub, Slack OAuth) mı arıyorsunuz? Bunlar, mantık fonksiyonları içinden çağrılmak için vardır ve Logic altında bulunurlar.