Data Builder
Le Archie Core Data Builder est une interface de modélisation de données pour définir des tables de base de données, des types de champs et des relations entre les tables.
Pour ouvrir le Data Builder, cliquez sur Data Model (Modèle de Données) dans la barre latérale, sélectionnez la table sur laquelle vous souhaitez travailler, puis cliquez sur l’onglet Schema (Schéma).

Pour chaque table définie, le moteur GraphQL d’Archie Core crée automatiquement des types d’objets de schéma GraphQL et les champs de requête (query), de mutation (mutation) et d’abonnement (subscription) correspondants avec des résolveurs.
Cela signifie que toutes les actions Créer, Lire, Mettre à jour et Supprimer (CRUD), ainsi que les connexions en temps réel (websockets), sont immédiatement disponibles pour utilisation via le point de terminaison API unique de l’espace de travail.
Travailler avec des Tables
Section intitulée « Travailler avec des Tables »En arrière-plan, Archie Core provisionne une instance de base de données PostgreSQL dédiée pour votre espace de travail. PostgreSQL est une base de données relationnelle objet open source avancée, connue pour sa fiabilité et son intégrité des données. Elle gère efficacement les requêtes complexes et prend entièrement en charge la conformité ACID (Atomicité, Cohérence, Isolation, Durabilité).
Créer des Tables
Section intitulée « Créer des Tables »Cliquez sur le bouton + Add Table (+ Ajouter une Table) pour créer une nouvelle table. Le nom par défaut pour les nouvelles tables est “untitled_table”. Toutes les tables nécessitent des noms uniques (les noms attribute, workspace et leur forme plurielle sont réservés et ne peuvent être utilisés dans aucune casse).
Une fois qu’une table est créée, les types de schéma GraphQL correspondants et les résolveurs de requête, de mutation et d’abonnement seront générés automatiquement.

Mettre à jour des Tables
Section intitulée « Mettre à jour des Tables »Une fois qu’une table est créée, des champs et des relations peuvent être définis. Toutes les mises à jour d’une table sont publiées en temps réel, offrant une expérience fluide entre la définition d’un modèle de données et sa haute disponibilité.
Une fois qu’une table est mise à jour, ses types de schéma GraphQL correspondants et les résolveurs de requête, de mutation et d’abonnement seront mis à jour automatiquement.
Pour garantir que les erreurs et les erreurs liées aux tables sont minimisées, Archie Core protège contre de nombreuses actions nuisibles. Certaines d’entre elles incluent :
- Une invite nécessitant une Default Value (Valeur par Défaut) apparaîtra lors du changement d’un champ non obligatoire en obligatoire.
- Les valeurs des champs Date, Nombre et Texte sont automatiquement converties lorsqu’un type de champ existant est mis à jour.
- Lors du changement d’un champ non unique en unique, les enregistrements actuels sont validés pour avoir des valeurs uniques.
Supprimer des Tables
Section intitulée « Supprimer des Tables »Pour supprimer une table :
- Allez au nom de la table et cliquez sur
... - Cliquez sur Delete this Table (Supprimer cette Table).
- Une boîte de dialogue de confirmation s’ouvre. Tapez le nom de la table et cliquez sur Delete (Supprimer).
Danger : Les tables supprimées ne peuvent pas être restaurées et tous les enregistrements de table existants seront perdus. De plus, s’il existe des tables liées à la table en cours de suppression - belongs to (appartient à) et has many (a plusieurs), spécifiées comme obligatoires ou non - ces relations seront rompues.

Relations de Table
Section intitulée « Relations de Table »Archie Core prend en charge la définition de trois types de relations de table qui sont congruents avec ce que l’on attend des bases de données relationnelles :
| Type | A vers B | B vers A |
|---|---|---|
| un-à-un | Les enregistrements de la table A peuvent have_one (en avoir un) ou belong_to (appartenir à) des enregistrements de la table B. | Les enregistrements de la table B peuvent have_one (en avoir un) ou belong_to (appartenir à) des enregistrements de la table A. |
| un-à-plusieurs | L’enregistrement de la table A peut have_many (en avoir plusieurs) enregistrements de la table B. | Les enregistrements de la table B peuvent have_one (en avoir un) ou belong_to (appartenir à) des enregistrements de la table A. |

La définition d’une relation entre deux tables peut être réalisée en glissant-déposant une table sur une autre ou en sélectionnant Table comme Type de Données lors de la création d’un nouveau champ de table.
Configurations de Table
Section intitulée « Configurations de Table »Pour spécifier les relations has many, has one et belongs to entre les tables.
Configurations
- Name : Pour sélectionner quelle table doit être liée.
- Related Table : Le nom de la relation tel qu’il apparaît sur la table correspondante.
- Type : Si la relation est has one ou has many.
- Description : Une zone de texte facultative où vous pouvez écrire des informations sur le champ.
- Mandatory : Si la relation de champ est requise.
Types de Table
Section intitulée « Types de Table »Il existe trois types de tables : Personnalisée (Custom), Vue (View) et Type de Données (Data Type).
Tables Personnalisées
Section intitulée « Tables Personnalisées »Les tables personnalisées sont les tables créées dans n’importe quel espace de travail par un administrateur. Elles sont entièrement personnalisables.
Tables de Vue
Section intitulée « Tables de Vue »Les tables de vue sont des tables virtuelles qui regroupent des champs de plusieurs tables dans une seule vue. En coulisses, elles sont basées sur l’ensemble de résultats d’une instruction SQL. Dans un espace de travail, elles peuvent être créées à l’aide de la mutation GraphQL viewCreate dans l’API Explorer.
Type de Données
Section intitulée « Type de Données »Les types vous permettent de définir un ensemble statique et ordonné de valeurs mutuellement exclusives. Contrairement aux champs de texte standard, une Enum restreint la saisie de données à une liste spécifique de constantes prédéfinies.
Des exemples courants incluent des indicateurs de statut (par exemple, BROUILLON, PUBLIÉ, ARCHIVÉ), des rôles d’utilisateur ou des étiquettes de catégorie.
Utilité et Avantages
Section intitulée « Utilité et Avantages »L’utilisation d’Enums dans votre schéma de base de données offre plusieurs avantages clés :
- Intégrité des Données : Les Enums imposent une validation stricte des données au niveau de la base de données. Comme le champ n’accepte que des valeurs de la liste définie, cela élimine les erreurs causées par des fautes de frappe ou des conventions de nommage incohérentes (par exemple, empêcher un mélange de “Haut”, “haut” et “Ht” pour un champ de priorité).
- Cohérence du Code : Ils fournissent une source unique de vérité pour les valeurs autorisées, rendant la logique de l’application plus prévisible et plus facile à maintenir.
- Lisibilité : Les Enums rendent les données auto-descriptives. Une valeur comme
PAIEMENT_ECHOUEest beaucoup plus significative pour les développeurs et les analystes qu’un code numérique arbitraire commecode_erreur: 3. - Performance : Dans PostgreSQL, les Enums sont stockés efficacement en coulisses, mais présentés sous forme de chaînes lisibles, offrant un équilibre entre performance et lisibilité humaine.