KingbaseES

Data source: KingbaseESProfessional Edition+

Introducción

KingbaseES puede utilizarse como base de datos principal de NocoBase para almacenar los datos de las tablas del sistema de NocoBase y los datos empresariales de la fuente de datos principal. La base de datos principal se configura al implementar NocoBase y no se puede eliminar una vez que la aplicación está en funcionamiento.

Si desea conectar una base de datos KingbaseES existente como base de datos externa, consulte KingbaseES externo.

Elemento de configuraciónDescripción
Versiones compatibles>= V9.
Versiones comercialesCompatible con las ediciones Professional y Enterprise.
Tipo de base de datosModo compatible con PostgreSQL.
Nota

Actualmente, solo se admiten bases de datos KingbaseES que se ejecuten en modo compatible con PostgreSQL.

Instalación

Uso como base de datos principal

Consulte el proceso de instalación en Instalar la aplicación NocoBase. La principal diferencia está en las variables de entorno de la base de datos.

Variables de entorno

Modifique el archivo .env y añada o modifique las siguientes variables de entorno relacionadas con la base de datos:

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

Instalación con 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"]

Instalación mediante 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

Uso como base de datos externa

Si desea conectar KingbaseES como base de datos externa, consulte KingbaseES externo para conocer el punto de entrada de configuración, los parámetros de conexión y las reglas de sincronización.

Instrucciones de uso

La fuente de datos principal KingbaseES es compatible con el modo PostgreSQL. Para la gestión diaria, puede consultar Fuente de datos principal PostgreSQL.

  1. Al implementar NocoBase, seleccione o introduzca los parámetros de conexión correspondientes a KingbaseES en la configuración de conexión de la base de datos.
  2. Después de iniciar NocoBase, acceda a la fuente de datos «Main» en «Gestión de fuentes de datos» para administrar las tablas y los campos de la base de datos principal.
  3. Si necesita conectar tablas que ya existen en la base de datos, puede utilizar «Sincronizar desde la base de datos» en la página de gestión de la base de datos principal.
  4. Al configurar los campos de las tablas de datos, puede consultar los directorios Tabla de datos y Campo para seleccionar los tipos de campo y los componentes de campo.

Asignación de tipos de campo

Al crear campos desde una página de NocoBase en la base de datos principal, NocoBase crea los campos correspondientes de KingbaseES según la configuración del campo. Al conectar tablas existentes mediante «Sincronizar desde la base de datos», NocoBase identifica los tipos de campo de KingbaseES según la lógica de compatibilidad con PostgreSQL y los asigna automáticamente al Field type y Field interface adecuados. Puede ajustar la forma de visualización en la configuración del campo.

Las asignaciones habituales son las siguientes:

Tipo de campo de 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。
Nota

Los tipos de campo de KingbaseES no compatibles se mostrarán por separado en la configuración de campos. Estos campos deberán adaptarse mediante desarrollo antes de poder utilizarse como campos normales en NocoBase.

Para consultar más configuraciones generales, vea Introducción a la fuente de datos principal.