KingbaseES

Data source: KingbaseESProfessional Edition+

Introduction

KingbaseES peut être utilisé comme base de données principale de NocoBase pour stocker les données des tables système de NocoBase ainsi que les données métier de la source de données principale. La base de données principale est configurée lors du déploiement de NocoBase et ne peut plus être supprimée une fois l’application lancée.

Pour connecter une base de données KingbaseES existante en tant que base de données externe, consultez KingbaseES externe.

Élément de configurationDescription
Versions prises en charge>= V9.
Versions commercialesPrise en charge par les éditions Professional et Enterprise.
Type de base de donnéesMode compatible PostgreSQL.
Remarque

Seules les bases de données KingbaseES exécutées en mode compatible PostgreSQL sont actuellement prises en charge.

Installation

Utilisation comme base de données principale

Pour connaître la procédure d’installation, consultez Installer une application NocoBase. La principale différence concerne les variables d’environnement de la base de données.

Variables d’environnement

Modifiez le fichier .env et ajoutez ou modifiez les variables d’environnement suivantes liées à la base de données :

# 根据实际情况调整 DB 相关参数
DB_DIALECT=kingbase
DB_HOST=localhost
DB_PORT=54321
DB_DATABASE=kingbase
DB_USER=nocobase
DB_PASSWORD=nocobase

Installation avec Docker

networks:
  nocobase:
    driver: bridge

services:
  app:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest
    restart: always
    networks:
      - nocobase
    depends_on:
      - kingbase
    environment:
      # 用于生成用户 token 等内容的应用密钥。
      # 修改 APP_KEY 会导致旧 token 失效,请使用随机字符串并妥善保存。
      - APP_KEY=your-secret-key
      # 数据库类型
      - DB_DIALECT=kingbase
      # 数据库地址,如果使用已有数据库服务,可以替换为对应 IP。
      - DB_HOST=kingbase
      - DB_PORT=54321
      # 数据库名称
      - DB_DATABASE=kingbase
      # 数据库用户
      - DB_USER=nocobase
      # 数据库密码
      - DB_PASSWORD=nocobase
      # 时区
      - TZ=UTC
    volumes:
      - ./storage:/app/nocobase/storage
    ports:
      - "11000:80"

  # Kingbase 测试服务,仅用于本地体验。
  kingbase:
    image: registry.cn-shanghai.aliyuncs.com/nocobase/kingbase:v009r001c001b0030_single_x86
    platform: linux/amd64
    restart: always
    privileged: true
    networks:
      - nocobase
    volumes:
      - ./storage/db/kingbase:/home/kingbase/userdata
    environment:
      ENABLE_CI: no # Must be set to no
      DB_USER: nocobase
      DB_PASSWORD: nocobase
      DB_MODE: pg  # 仅支持 pg 模式
      NEED_START: yes
    command: ["/usr/sbin/init"]

Installation avec create-nocobase-app

yarn create nocobase-app my-nocobase-app -d kingbase \
   -e DB_HOST=localhost \
   -e DB_PORT=54321 \
   -e DB_DATABASE=kingbase \
   -e DB_USER=nocobase \
   -e DB_PASSWORD=nocobase \
   -e TZ=Asia/Shanghai

Utilisation comme base de données externe

Pour connecter KingbaseES en tant que base de données externe, consultez KingbaseES externe pour connaître le point d’accès de configuration, les paramètres de connexion et les règles de synchronisation.

Instructions d’utilisation

La source de données principale KingbaseES est compatible avec le mode PostgreSQL. Pour la gestion quotidienne, vous pouvez consulter Source de données principale PostgreSQL.

  1. Lors du déploiement de NocoBase, sélectionnez ou saisissez les paramètres de connexion correspondants à KingbaseES dans la configuration de la connexion à la base de données.
  2. Après avoir démarré NocoBase, accédez à la source de données « Main » dans « Gestion des sources de données » pour gérer les tables et les champs de la base de données principale.
  3. Pour intégrer des tables déjà présentes dans la base de données, utilisez « Synchroniser depuis la base de données » dans la page de gestion de la base de données principale.
  4. Lors de la configuration des champs d’une table de données, vous pouvez consulter les répertoires Tables de données et Champs pour sélectionner les types de champs et les composants de champ.

Correspondance des types de champs

Lorsque vous créez un champ via une page NocoBase dans la base de données principale, NocoBase crée le champ KingbaseES correspondant en fonction de la configuration du champ. Lorsque vous intégrez une table existante à l’aide de « Synchroniser depuis la base de données », NocoBase identifie les types de champs KingbaseES selon la logique de compatibilité PostgreSQL et les associe automatiquement au Field type et au Field interface appropriés. Vous pouvez ajuster le mode d’affichage dans la configuration du champ.

Les correspondances courantes sont les suivantes :

Type de champ KingbaseESNocoBase Field typeField interface disponibles
BOOLEANbooleanCheckbox、Switch。
SMALLINTINTEGERintegersortInteger、Sort、Select、Radio group。
BIGINTbigIntsnowflakeIdunixTimestampsortInteger、Sort、Unix timestamp、Created at、Updated at。
REALDOUBLE PRECISIONfloatNumber、Percent。
DECIMALNUMERICdecimalNumber、Percent、Currency。
VARCHARCHARstringuuidnanoidencryptiondatetimeNoTzInput、Email、Phone、Password、Color、Icon、Select、Radio group、UUID、Nano ID。
TEXTtextTextarea、Markdown、Vditor、Rich text、URL。
UUIDuuidUUID。
JSONJSONBjsonarrayJSON。
TIMESTAMP WITHOUT TIME ZONEdatetimeNoTzDate、Time、Created at、Updated at。
TIMESTAMP WITH TIME ZONEdatetimeTzdateDate、Time、Created at、Updated at。
DATEdateOnlyDate。
TIME WITHOUT TIME ZONEtimeTime。
POINTPATHPOLYGONCIRCLEjsonJSON。
ARRAYarrayMultiple select、Checkbox group、JSON。
Remarque

Les types de champs KingbaseES non pris en charge sont affichés séparément dans la configuration des champs. Ces champs doivent faire l’objet d’une adaptation de développement avant de pouvoir être utilisés comme des champs ordinaires dans NocoBase.

Pour découvrir davantage de configurations générales, consultez Présentation de la source de données principale.