OceanBase

Pengenalan

OceanBase dapat dihubungkan ke NocoBase sebagai database eksternal. Setelah terhubung, NocoBase akan membaca tabel data, field, dan view dari OceanBase, lalu menggunakannya sebagai tabel data dalam sumber data eksternal.

Berbeda dengan database utama, struktur tabel sebenarnya pada OceanBase eksternal tetap dikelola oleh sistem bisnis asli, klien database, atau skrip migrasi. NocoBase bertanggung jawab membaca struktur, menyimpan metadata field, serta mengonfigurasi blok halaman, izin, workflow, dan API.

Item konfigurasiDeskripsi
Versi yang didukungOceanBase >= 4.3.
Versi komersialEdisi Enterprise didukung.
Plugin terkait@nocobase/plugin-data-source-oceanbase.
Mode databaseHanya mode kompatibilitas MySQL yang didukung.

Skenario yang sesuai untuk menggunakan OceanBase eksternal:

  • Menghubungkan database bisnis pada tenant OceanBase MySQL yang sudah ada
  • Membangun antarmuka manajemen dengan NocoBase tanpa memigrasikan data historis
  • Menerapkan kontrol izin, pemrosesan workflow, perbaikan data, atau tampilan laporan pada tabel yang sudah ada
  • Struktur database tetap dikelola oleh DBA, skrip migrasi, atau sistem asli
Perhatian

OceanBase sebagai database eksternal hanya mendukung mode kompatibilitas MySQL. Jika menggunakan mode kompatibilitas Oracle, NocoBase tidak dapat membaca struktur tabel dan tipe field menggunakan plugin saat ini.

Penginstalan plugin

Plugin ini merupakan plugin komersial. Untuk mengetahui cara aktivasinya secara mendetail, lihat: Panduan aktivasi plugin komersial

Menambahkan sumber data

Di「Manajemen sumber data」, klik「Add new」, pilih OceanBase, lalu isi informasi koneksi.

20240507204820

Konfigurasi koneksi yang umum adalah sebagai berikut:

KonfigurasiDeskripsi
Data source nameNama identifikasi sumber data yang digunakan untuk referensi dalam blok halaman, izin, workflow, dan API. Tidak dapat diubah setelah dibuat.
Data source display nameNama sumber data yang ditampilkan di antarmuka. Sebaiknya gunakan nama yang mudah dipahami staf bisnis, misalnya「Database bisnis OceanBase」「Database laporan」.
Host / PortAlamat dan port koneksi OceanBase yang kompatibel dengan MySQL. Port bergantung pada konfigurasi tenant atau proxy yang sebenarnya.
DatabaseNama database OceanBase yang akan dihubungkan.
Username / PasswordAkun dan kata sandi yang digunakan untuk terhubung ke OceanBase. NocoBase hanya dapat membaca objek yang dapat diakses oleh akun ini, dan tidak akan memberikan izin atau membaca objek pribadi akun lain.
Table prefixAwalan nama tabel. Setelah dikonfigurasi, NocoBase hanya membaca tabel data dan view yang cocok dengan awalan tersebut, lalu membuat nama tabel tanpa awalan di NocoBase.
Collections / Add all collectionsMengontrol cakupan koneksi. Saat「Add all collections」diaktifkan, NocoBase akan menghubungkan semua tabel dan view dalam cakupan saat ini; jika dinonaktifkan, hanya objek yang dipilih di「Collections」yang akan dihubungkan.
Enabled the data sourceMenentukan apakah sumber data ini diaktifkan. Setelah dinonaktifkan, konfigurasi sumber data tetap dipertahankan, tetapi blok halaman, izin, workflow, dan API tidak dapat lagi membaca datanya.
Tips

Jika terdapat banyak objek di OceanBase, persempit cakupan terlebih dahulu melalui Database, Table prefix, dan「Collections」. Hubungkan hanya tabel dan view yang akan digunakan oleh aplikasi saat ini agar konfigurasi izin, pembuatan halaman, dan pemeliharaan sinkronisasi berikutnya menjadi lebih ringan.

Memilih tabel data

Setelah mengisi informasi koneksi, klik「Load Collections」untuk membaca tabel data dan view yang tersedia di OceanBase. Hasil pembacaan dipengaruhi oleh akun koneksi, Database, Table prefix, dan konfigurasi「Collections」.

Secara default,「Add all collections」akan diaktifkan, yang berarti semua tabel dan view dalam cakupan saat ini akan dihubungkan. Jika hanya ingin menghubungkan sebagian objek, nonaktifkan「Add all collections」, lalu pilih tabel data atau view yang diperlukan dari daftar.

add_new_database_configure_load_collection

Perhatian

Satu sumber data eksternal dapat menghubungkan maksimal 500 tabel data atau view dalam satu waktu. Jika terdapat banyak objek di OceanBase, sebaiknya persempit cakupan terlebih dahulu melalui Database, Table prefix, atau「Collections」.

Sinkronisasi dan konfigurasi field

Struktur tabel OceanBase eksternal dikelola di sisi database. NocoBase tidak akan membuat field, mengubah tipe field, atau menghapus field sebenarnya di OceanBase eksternal.

Jika struktur tabel di OceanBase berubah, jalankan「Sync from database」di sumber data untuk membaca ulang metadata tabel dan field. Sinkronisasi akan memperbarui tabel data, field, primary key, unique key, dan informasi pemetaan tipe field yang disimpan di NocoBase, tetapi tidak akan menghapus tabel atau data sebenarnya di OceanBase.

Setelah field disinkronkan, Anda dapat mengonfigurasi judul field, tipe field (Field type), dan komponen field (Field interface) di NocoBase. Jika perlu membuat field relasi NocoBase, metadata relasi juga disimpan di NocoBase dan tidak akan otomatis menambahkan field foreign key sebenarnya ke tabel OceanBase.

Pemetaan tipe field

NocoBase mengenali tipe field OceanBase berdasarkan logika kompatibilitas MySQL, lalu memetakannya secara otomatis ke Field type dan Field interface yang sesuai. Anda dapat menyesuaikan cara tampilnya di konfigurasi field.

Pemetaan umum adalah sebagai berikut:

Tipe field OceanBaseNocoBase Field typeField interface yang tersedia
TINYINTSMALLINTMEDIUMINTintegerbooleansortInteger、Sort、Checkbox、Switch、Select、Radio group。
INTINTEGERintegerunixTimestampsortInteger、Sort、Unix timestamp、Select、Radio group。
BIGINTbigIntsnowflakeIdunixTimestampsortInteger、Sort、Unix timestamp、Created at、Updated at。
FLOATDOUBLEfloatNumber、Percent。
DECIMALdecimalNumber、Percent、Currency。
CHARVARCHARstringuuidnanoidencryptionInput、Email、Phone、Password、Color、Icon、Select、Radio group、UUID、Nano ID。
TEXTtextTextarea、Markdown、Vditor、Rich text、URL。
DATEdateOnlyDate。
TIMEtimeTime。
DATETIMEdatetimeNoTzdatetimeTzdateDate、Time、Created at、Updated at。
TIMESTAMPdatetimeTzdateDate、Time、Created at、Updated at。
JSONjsonarrayJSON。
Perhatian

Tipe field OceanBase yang tidak didukung akan ditampilkan secara terpisah dalam konfigurasi field. Field tersebut memerlukan pengembangan adaptor sebelum dapat digunakan sebagai field biasa di NocoBase.

Primary key dan pengenal unik record

Untuk tabel data yang digunakan untuk menampilkan dan mengedit blok halaman, disarankan memiliki primary key atau field unik. NocoBase akan memprioritaskan primary key sebagai pengenal unik record.

Jika yang dihubungkan adalah view, tabel tanpa primary key, atau tabel dengan composite primary key, Anda perlu mengatur「Record unique key」secara manual dalam konfigurasi tabel data. Jika tidak ada pengenal unik yang tersedia, blok halaman mungkin tidak dapat melihat, mengedit, atau menghapus record dengan benar.

edit_collection

edit_collection_configure

Tautan terkait