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 asli, klien basis data, atau skrip migrasi. NocoBase bertanggung jawab membaca struktur, menyimpan metadata field, serta mengonfigurasi blok halaman, izin, workflow, dan API.

Item konfigurasiDeskripsi
Versi yang didukungMySQL >= 5.7.
Versi komersialDidukung oleh Edisi Standar, Profesional, dan Enterprise.
Plugin terkait@nocobase/plugin-data-source-external-mysql
Protokol kompatibelMenggunakan protokol MySQL untuk koneksi.

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 penyajian laporan pada tabel yang sudah ada
  • Mempertahankan struktur basis data oleh DBA, skrip migrasi, atau sistem asli
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 lengkap, 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:

KonfigurasiDeskripsi
Data source nameNama identifikasi sumber data, digunakan sebagai 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 pengguna bisnis, seperti 「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 tersebut 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 MySQL, persempit cakupan terlebih dahulu melalui DatabaseTable prefix dan 「Collections」. Hubungkan hanya tabel dan view yang digunakan oleh aplikasi saat ini agar konfigurasi izin, pembuatan halaman, dan pemeliharaan sinkronisasi selanjutnya menjadi lebih ringan.

Memilih tabel data

Setelah mengisi informasi koneksi, Anda dapat mengeklik 「Load Collections」 untuk membaca tabel data dan view yang tersedia di MySQL. Hasil pembacaan dipengaruhi oleh akun koneksi, DatabaseTable 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 centang 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 DatabaseTable prefix atau 「Collections」。

Sinkronisasi dan konfigurasi field

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

Saat struktur tabel di MySQL berubah, Anda dapat menjalankan 「Sync from database」 pada sumber data untuk membaca ulang metadata tabel dan field. Sinkronisasi akan memperbarui informasi tabel data, field, kunci utama, kunci unik, dan pemetaan jenis field yang tersimpan di NocoBase, tetapi tidak akan menghapus tabel atau data sebenarnya di MySQL.

Setelah sinkronisasi field, Anda dapat mengonfigurasi judul field, jenis 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 jenis field

NocoBase akan secara otomatis memetakan jenis 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:

Jenis 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

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

Kunci utama dan identifikasi unik catatan

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

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 identifikasi unik yang dapat digunakan, blok halaman mungkin tidak dapat melihat, mengedit, atau menghapus catatan dengan benar.

20260709205547 20260709205609