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 ejecución.

Si quieres conectar una base de datos KingbaseES existente como base de datos externa, consulta 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

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

Variables de entorno

Modifica el archivo .env y añade o modifica 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 quieres conectar KingbaseES como base de datos externa, consulta KingbaseES externo para obtener información sobre el acceso de configuración, los parámetros de conexión y las reglas de sincronización.

Instrucciones de uso

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

  1. Al implementar NocoBase, selecciona o introduce 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, entra en la fuente de datos «Main» desde «Gestión de fuentes de datos» para administrar las tablas y los campos de la base de datos principal.
  3. Si necesitas conectar tablas que ya existen en la base de datos, utiliza «Sincronizar desde la base de datos» en la página de administración de la base de datos principal.
  4. Al configurar los campos de una tabla, puedes consultar los catálogos Tablas de datos y Campos 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 creará los campos correspondientes de KingbaseES según la configuración del campo. Al conectar tablas existentes mediante «Sincronizar desde la base de datos», NocoBase identificará los tipos de campo de KingbaseES según la lógica de compatibilidad con PostgreSQL y los asignará automáticamente al tipo de campo y la interfaz de campo adecuados. Puedes ajustar la forma de visualización en la configuración del campo.

Asignaciones habituales:

Tipo de campo de KingbaseESTipo de campo de NocoBaseInterfaz de campo opcional
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 requieren una adaptación mediante desarrollo para poder utilizarse como campos normales en NocoBase.

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