KingbaseES

Data Source: KingbaseESProfessional Edition+

Pengenalan

KingbaseES dapat digunakan sebagai database utama NocoBase untuk menyimpan data tabel sistem NocoBase dan data bisnis dari sumber data utama. Database utama dikonfigurasi saat NocoBase di-deploy dan tidak dapat dihapus setelah aplikasi berjalan.

Jika ingin menghubungkan database KingbaseES yang sudah ada sebagai database eksternal, lihat KingbaseES eksternal.

Item konfigurasiDeskripsi
Versi yang didukung>= V9.
Versi komersialDidukung oleh edisi Professional dan Enterprise.
Jenis databaseMode kompatibel PostgreSQL.
Perhatian

Saat ini hanya database KingbaseES yang berjalan dalam mode kompatibel PostgreSQL yang didukung.

Instalasi

Digunakan sebagai database utama

Untuk proses instalasi, lihat Menginstal aplikasi NocoBase. Perbedaan utamanya terletak pada variabel lingkungan database.

Variabel lingkungan

Ubah file .env, lalu tambahkan atau ubah variabel lingkungan terkait database berikut:

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

Instalasi 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"]

Instalasi menggunakan 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

Digunakan sebagai database eksternal

Jika ingin menghubungkan KingbaseES sebagai database eksternal, lihat KingbaseES eksternal untuk informasi tentang akses konfigurasi, parameter koneksi, dan aturan sinkronisasi.

Petunjuk penggunaan

Sumber data utama KingbaseES kompatibel dengan mode PostgreSQL. Untuk pengelolaan sehari-hari, lihat Sumber data utama PostgreSQL.

  1. Saat melakukan deployment NocoBase, pilih atau isi parameter koneksi yang sesuai dengan KingbaseES pada konfigurasi koneksi database.
  2. Setelah NocoBase dijalankan, buka sumber data 「Main」 di 「Manajemen sumber data」 untuk mengelola tabel dan field dalam database utama.
  3. Jika perlu menghubungkan tabel yang sudah ada di database, gunakan 「Sinkronisasi dari database」 pada halaman pengelolaan database utama.
  4. Saat mengonfigurasi field tabel, lihat direktori Tabel dan Field untuk memilih jenis field dan komponen field.

Pemetaan jenis field

Saat membuat field melalui halaman NocoBase di database utama, NocoBase akan membuat field KingbaseES yang sesuai berdasarkan konfigurasi field. Saat menghubungkan tabel yang sudah ada melalui 「Sinkronisasi dari database」, NocoBase akan mengenali jenis field KingbaseES berdasarkan logika kompatibilitas PostgreSQL, lalu secara otomatis memetakannya ke Field type dan Field interface yang sesuai. Anda dapat menyesuaikan cara tampil di antarmuka dalam konfigurasi field.

Pemetaan umum adalah sebagai berikut:

Jenis field KingbaseESNocoBase Field typeField interface yang tersedia
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。
Perhatian

Jenis field KingbaseES yang tidak didukung akan ditampilkan secara terpisah dalam konfigurasi field. Field tersebut harus diadaptasi melalui pengembangan terlebih dahulu agar dapat digunakan sebagai field biasa di NocoBase.

Untuk konfigurasi umum lainnya, lihat Pengenalan sumber data utama.