MySQL

Data Source: External MySQLStandard Edition+

Pengenalan

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

Berbeda dengan basis data utama, struktur tabel sebenarnya pada MySQL eksternal tetap dikelola oleh sistem bisnis asal, klien basis data, atau skrip migrasi. NocoBase bertanggung jawab membaca struktur, menyimpan metadata field, serta mengonfigurasi blok halaman, izin, alur kerja, dan API.

Item konfigurasiKeterangan
Versi yang didukungMySQL >= 5.7.
Edisi komersialDidukung oleh edisi Standard, Professional, dan Enterprise.
Plugin terkait@nocobase/plugin-data-source-external-mysql.
Protokol yang kompatibelTerhubung menggunakan protokol MySQL.

Skenario yang cocok untuk menggunakan MySQL eksternal:

  • Menghubungkan basis data MySQL milik sistem bisnis seperti ERP, MES, WMS, dan CRM yang sudah ada
  • Membangun antarmuka manajemen dengan NocoBase tanpa memigrasikan data historis
  • Menerapkan kontrol izin, pemrosesan alur, koreksi data, atau tampilan laporan pada tabel yang sudah ada
  • Struktur basis data tetap dikelola oleh DBA, skrip migrasi, atau sistem asal
Perhatian

MySQL eksternal bukan basis data sistem NocoBase. NocoBase tidak mengambil alih pencadangan, pemulihan, migrasi, atau perubahan struktur tabelnya.

Instalasi plugin

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

Menambahkan sumber data

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

20240507204820

Berikut adalah konfigurasi koneksi yang umum:

KonfigurasiKeterangan
Data source nameNama identifikasi sumber data yang digunakan sebagai referensi dalam blok halaman, izin, alur kerja, dan API. Tidak dapat diubah setelah dibuat.
Data source display nameNama sumber data yang ditampilkan di antarmuka. Disarankan menggunakan nama yang mudah dipahami staf bisnis, misalnya 「ERP MySQL」 atau 「Basis data pesanan」.
Host / PortAlamat host dan port MySQL. Port default biasanya adalah 3306.
DatabaseNama basis data MySQL yang akan dihubungkan.
Username / PasswordNama pengguna dan kata sandi untuk menghubungkan MySQL. 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 ini, lalu membuat nama tabel tanpa awalan di NocoBase.
Collections / Add all collectionsMengontrol cakupan koneksi. Jika 「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. Jika dinonaktifkan, konfigurasi sumber data tetap tersimpan, tetapi blok halaman, izin, alur kerja, dan API tidak dapat lagi membaca datanya.
Tips

Jika terdapat banyak objek di MySQL, persempit cakupan terlebih dahulu melalui Database, Table prefix, dan 「Collections」. Hubungkan hanya tabel dan view yang 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 MySQL. 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 dalam 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 MySQL, sebaiknya persempit cakupan terlebih dahulu melalui Database, Table prefix, atau 「Collections」.

Sinkronisasi dan konfigurasi field

Struktur tabel MySQL eksternal dikelola di sisi basis data. NocoBase tidak akan membuat field, mengubah tipe field, atau menghapus field sebenarnya di MySQL eksternal.

Jika struktur tabel di sisi MySQL berubah, jalankan 「Sync from database」 di sumber data untuk membaca ulang metadata tabel dan field. Sinkronisasi akan memperbarui informasi tabel data, field, kunci utama, kunci unik, dan pemetaan tipe field yang tersimpan di NocoBase, tetapi tidak akan menghapus tabel atau data sebenarnya di MySQL.

Setelah sinkronisasi field, 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 MySQL.

Pemetaan tipe field

NocoBase akan secara otomatis memetakan tipe field MySQL ke Field type dan Field interface yang sesuai. Anda dapat menyesuaikan cara tampilannya di antarmuka melalui konfigurasi field.

Pemetaan umum adalah sebagai berikut:

Tipe field MySQLNocoBase 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。
TINYTEXTTEXTMEDIUMTEXTLONGTEXTtextTextarea、Markdown、Vditor、Rich text、URL。
DATEdateOnlyDate。
TIMEtimeTime。
DATETIMEdatetimeNoTzdatetimeTzdateDate、Time、Created at、Updated at。
TIMESTAMPdatetimeTzdateDate、Time、Created at、Updated at。
YEARstringintegerInput、Integer、Date。
JSONjsonarrayJSON。
Perhatian

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

Kunci utama dan pengenal unik record

Untuk tabel data yang digunakan untuk menampilkan dan mengedit blok halaman, sebaiknya tersedia kunci utama atau field unik. NocoBase akan memprioritaskan kunci utama sebagai pengenal unik record.

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

20260709205547 20260709205609