MySQL

Data source: External MySQLStandard Edition+

Introducción

MySQL puede conectarse a NocoBase como base de datos externa. Una vez conectado, NocoBase leerá las tablas, los campos y las vistas de MySQL, y los utilizará como tablas de datos en la fuente de datos externa.

A diferencia de la base de datos principal, la estructura real de las tablas del MySQL externo sigue siendo mantenida por el sistema empresarial original, el cliente de base de datos o los scripts de migración. NocoBase se encarga de leer la estructura, guardar los metadatos de los campos y configurar los bloques de página, los permisos, los flujos de trabajo y las API.

Elemento de configuraciónDescripción
Versiones compatiblesMySQL >= 5.7.
Ediciones comercialesCompatible con las ediciones Estándar, Profesional y Empresarial.
Plugin correspondiente@nocobase/plugin-data-source-external-mysql.
Protocolo compatibleUtiliza el protocolo MySQL para la conexión.

Escenarios adecuados para usar MySQL externo:

  • Conectar las bases de datos MySQL de sistemas empresariales existentes, como ERP, MES, WMS o CRM
  • Crear interfaces de gestión con NocoBase sin migrar los datos históricos
  • Aplicar controles de permisos, procesar flujos, corregir datos o mostrar informes basados en tablas existentes
  • Mantener la estructura de la base de datos mediante el DBA, scripts de migración o el sistema original
Atención

MySQL externo no es la base de datos del sistema de NocoBase. NocoBase no se hará cargo de sus copias de seguridad, restauraciones, migraciones ni cambios en la estructura de las tablas.

Instalación del plugin

Este plugin es comercial. Para obtener información detallada sobre su activación, consulta la Guía de activación de plugins comerciales.

Adición de una fuente de datos

En «Gestión de fuentes de datos», haz clic en «Add new», selecciona MySQL y completa la información de conexión.

20240507204820

Configuración de conexión habitual:

ConfiguraciónDescripción
Data source nameNombre identificador de la fuente de datos, utilizado para hacer referencia a ella en bloques de página, permisos, flujos de trabajo y API. No se puede modificar después de la creación.
Data source display nameNombre con el que se muestra la fuente de datos en la interfaz. Se recomienda usar un nombre que los usuarios empresariales puedan entender, como «ERP MySQL» o «Base de datos de pedidos».
Host / PortDirección del host y puerto de MySQL. El puerto predeterminado suele ser 3306.
DatabaseNombre de la base de datos MySQL a la que se conectará.
Username / PasswordCuenta y contraseña utilizadas para conectarse a MySQL. NocoBase solo puede leer los objetos a los que tiene acceso esta cuenta; no concederá permisos ni leerá objetos privados de otras cuentas.
Table prefixPrefijo de los nombres de las tablas. Una vez configurado, NocoBase solo leerá las tablas y vistas que coincidan con este prefijo y generará en NocoBase nombres de tablas sin el prefijo.
Collections / Add all collectionsControla el alcance de la conexión. Cuando «Add all collections» está activado, NocoBase conectará todas las tablas y vistas del alcance actual; cuando está desactivado, solo conectará los objetos seleccionados en «Collections».
Enabled the data sourceIndica si la fuente de datos está activada. Si se desactiva, se conservará su configuración, pero los bloques de página, permisos, flujos de trabajo y API ya no podrán leer sus datos.
Consejo

Si MySQL contiene muchos objetos, reduce primero el alcance mediante Database, Table prefix y «Collections». Conecta únicamente las tablas y vistas que la aplicación actual vaya a utilizar; así, la configuración posterior de permisos, la creación de páginas y el mantenimiento de la sincronización serán más sencillos.

Selección de tablas de datos

Después de completar la información de conexión, puedes hacer clic en «Load Collections» para leer las tablas y vistas disponibles en MySQL. Los resultados dependerán de la cuenta de conexión, Database, Table prefix y la configuración de «Collections».

De forma predeterminada, «Add all collections» estará activado, lo que indica que se conectarán todas las tablas y vistas del alcance actual. Si solo quieres conectar algunos objetos, desactiva «Add all collections» y selecciona en la lista las tablas o vistas de datos necesarias.

add_new_database_configure_load_collection

Atención

Una sola fuente de datos externa puede conectar como máximo 500 tablas o vistas a la vez. Si MySQL contiene muchos objetos, se recomienda reducir primero el alcance mediante Database, Table prefix o «Collections».

Sincronización y configuración de campos

La estructura de las tablas de MySQL externo se mantiene en el lado de la base de datos. NocoBase no creará campos, modificará sus tipos ni eliminará campos reales en MySQL externo.

Cuando cambie la estructura de las tablas en MySQL, puedes ejecutar «Sync from database» en la fuente de datos para volver a leer los metadatos de las tablas y los campos. La sincronización actualizará la información de las tablas de datos, los campos, las claves principales, las claves únicas y el mapeo de tipos de campos guardada en NocoBase, pero no eliminará las tablas ni los datos reales de MySQL.

Después de sincronizar los campos, puedes configurar en NocoBase el título del campo, el tipo de campo (Field type) y el componente del campo (Field interface). Si necesitas crear campos de relación de NocoBase, los metadatos de relación también se guardarán en NocoBase, sin añadir automáticamente campos de clave externa reales a las tablas de MySQL.

Mapeo de tipos de campos

NocoBase asignará automáticamente los tipos de campos de MySQL al Field type y al Field interface adecuados. Puedes ajustar la forma en que se muestran en la interfaz desde la configuración del campo.

Mapeos habituales:

Tipo de campo de MySQLNocoBase Field typeField interface disponibles
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。
Atención

Los tipos de campos de MySQL no compatibles se mostrarán por separado en la configuración de campos. Estos campos deberán adaptarse mediante desarrollo antes de poder utilizarse como campos normales en NocoBase.

Clave principal e identificador único de los registros

Se recomienda que las tablas de datos utilizadas para mostrar y editar bloques de página tengan una clave principal o un campo único. NocoBase utilizará preferentemente la clave principal como identificador único del registro.

Si conectas una vista, una tabla sin clave principal o una tabla con clave principal compuesta, deberás configurar manualmente «Record unique key» en la configuración de la tabla de datos. Si no existe un identificador único disponible, es posible que los bloques de página no puedan ver, editar o eliminar correctamente los registros.

20260709205547 20260709205609