Types de champs
Types de champs
Reference complete des 37 types de champs disponibles dans Kasar
Kasar dispose d'un systeme de types extensible avec 37 types de champs repartis en 7 categories. Chaque type definit son mapping SQL, ses operateurs de filtre, ses fonctions d'agregation et ses regles de validation.
Vue d'ensemble
Chaque categorie dispose de sa propre page de reference :
| Categorie | Types | Nombre |
|---|---|---|
| Texte | TEXT, LONG_TEXT, RICH_TEXT, EMAIL, PHONE, URL | 6 |
| Numerique | NUMBER, INTEGER, DECIMAL, PERCENT, CURRENCY | 5 |
| Temporel | DATE, DATETIME, DURATION, DATE_RANGE, DATETIME_RANGE | 5 |
| Selection | BOOLEAN, SELECT, MULTI_SELECT | 3 |
| Relationnel | RELATION, USERS, DEPENDENT_RELATION, MORPH_RELATION, MANY_TO_MANY, PRIMARY_M2M_REFERENCE, PIPELINE | 7 |
| Compose | EMAILS, PHONES | 2 |
| Avance | ADDRESS, JSON, COLOR, RATING, IMAGE, DOCUMENTS, CALCULATED, ROLLUP, EXTERNAL_LOOKUP | 9 |
Types de stockage
Les types de champs utilisent trois strategies de stockage differentes :
- Standard : une colonne SQL par champ (TEXT, NUMBER, DATE, etc.)
- Composite : plusieurs colonnes SQL pour un seul champ logique (ADDRESS, CURRENCY, PIPELINE, DATE_RANGE, DATETIME_RANGE)
- Virtuel : pas de colonne sur la table parente (MANY_TO_MANY, EMAILS, PHONES, PRIMARY_M2M_REFERENCE, ROLLUP)
Champs injectes automatiquement
Lors de la creation d'un objet, les champs suivants sont automatiquement ajoutes par le systeme de migration. Ne les specifiez jamais manuellement.
| Champ | Type SQL | Description |
|---|---|---|
id | UUID PRIMARY KEY DEFAULT gen_random_uuid() | Identifiant unique |
created_at | TIMESTAMP DEFAULT NOW() | Date de creation |
updated_at | TIMESTAMP DEFAULT NOW() | Date de derniere modification |
deleted_at | TIMESTAMP | Soft delete |
created_by_id | UUID (FK → workspace_users) | Createur |
De meme, pour les champs relationnels :
- Le suffixe
_idest ajoute automatiquement aux colonnes FK - Les index sur les FK sont crees automatiquement
- Le champ inverse HAS_MANY est genere automatiquement pour chaque BELONGS_TO_ONE