Cette documentation a été traduite automatiquement par IA.
Vous pouvez utiliser une base de données externe existante comme source de données. Actuellement, NocoBase prend en charge les bases de données externes suivantes : MySQL, MariaDB, PostgreSQL, MSSQL et Oracle.
Une fois le plugin activé, vous pourrez sélectionner et ajouter une base de données externe via le menu déroulant « Add new » dans la gestion des sources de données.

Renseignez les informations de la base de données à laquelle vous souhaitez vous connecter.

Une fois la connexion établie avec une base de données externe, NocoBase lira directement toutes les collections présentes dans la source de données. Les bases de données externes ne permettent pas d'ajouter des collections ou de modifier la structure des tables directement depuis NocoBase. Si des modifications sont nécessaires, vous devrez les effectuer via un client de base de données, puis cliquer sur le bouton « Rafraîchir » dans l'interface NocoBase pour synchroniser les changements.

La base de données externe lira automatiquement les champs des collections existantes et les affichera. Vous pouvez rapidement consulter et configurer le titre du champ, son type de données (Field type) et son type d'interface utilisateur (Field interface). Vous pouvez également cliquer sur le bouton « Modifier » pour ajuster d'autres configurations.

Étant donné que les bases de données externes ne permettent pas de modifier la structure des tables, le seul type de champ disponible lors de l'ajout d'un nouveau champ est le champ de relation. Les champs de relation ne sont pas des champs physiques dans la base de données, mais ils servent à établir des connexions entre les collections.

Pour plus de détails, consultez le chapitre Champs de collection/Vue d'ensemble.
NocoBase mappe automatiquement les types de champs de la base de données externe aux types de données (Field type) et aux types d'interface utilisateur (Field Interface) correspondants.
| PostgreSQL | MySQL/MariaDB | NocoBase Data Type | NocoBase Interface Type |
|---|---|---|---|
| BOOLEAN | BOOLEAN TINYINT(1) | boolean | checkbox switch |
| SMALLINT INTEGER SERIAL SMALLSERIAL | TINYINT SMALLINT MEDIUMINT INTEGER | integer boolean sort | integer sort checkbox switch select radioGroup |
| BIGINT BIGSERIAL | BIGINT | bigInt sort | integer sort checkbox switch select radioGroup unixTimestamp createdAt updatedAt |
| REAL | FLOAT | float | number percent |
| DOUBLE PRECISION | DOUBLE PRECISION | double | number percent |
| DECIMAL NUMERIC | DECIMAL | decimal | number percent currency |
| VARCHAR CHAR | VARCHAR CHAR | string password uuid nanoid | input phone password color icon select radioGroup uuid nanoid |
| TEXT | TEXT TINYTEXT MEDIUMTEXT LONGTEXT | text json | textarea markdown vditor richText url json |
| UUID | - | uuid | uuid |
| JSON JSONB | JSON | json | json |
| TIMESTAMP | DATETIME TIMESTAMP | date | date time createdAt updatedAt |
| DATE | DATE | dateOnly | datetime |
| TIME | TIME | time | time |
| - | YEAR | datetime | |
| CIRCLE | circle | json circle | |
| PATH GEOMETRY(LINESTRING) | LINESTRING | lineString | Json lineString |
| POINT GEOMETRY(POINT) | POINT | point | json point |
| POLYGON GEOMETRY(POLYGON) | POLYGON | polygon | json polygon |
| GEOMETRY | GEOMETRY | - | - |
| BLOB | BLOB | blob | - |
| ENUM | ENUM | enum | select radioGroup |
| ARRAY | - | array | multipleSelect checkboxGroup |
| BIT | BIT | - | - |
| SET | SET | set | multipleSelect checkboxGroup |
| RANGE | - | - | - |
Les types de champs non pris en charge sont affichés séparément. Ces champs nécessitent une adaptation par le développement avant de pouvoir être utilisés.

Les collections affichées sous forme de blocs doivent avoir une clé cible de filtre (Filter target key) configurée. La clé cible de filtre est utilisée pour filtrer les données en fonction d'un champ spécifique, et la valeur de ce champ doit être unique. Par défaut, la clé cible de filtre est le champ de clé primaire de la collection. Pour les vues, les collections sans clé primaire ou les collections avec une clé primaire composite, vous devrez définir une clé cible de filtre personnalisée.

Seules les collections pour lesquelles une clé cible de filtre est configurée peuvent être ajoutées à la page.
