Esta documentación ha sido traducida automáticamente por IA.
En el desarrollo de plugins de NocoBase, la colección (tabla de datos) es uno de los conceptos centrales. Usted puede añadir o modificar estructuras de tablas de datos en sus plugins definiendo o extendiendo colecciones. A diferencia de las tablas de datos creadas a través de la interfaz de gestión de fuentes de datos, las colecciones definidas en el código suelen ser tablas de metadatos a nivel de sistema y no aparecerán en la lista de gestión de fuentes de datos.
Siguiendo la estructura de directorios convencional, los archivos de colección deben ubicarse en el directorio ./src/server/collections. Para crear nuevas tablas, utilice defineCollection(), y para extender tablas existentes, utilice extendCollection().
En el ejemplo anterior:
name: Nombre de la tabla (se generará automáticamente una tabla con el mismo nombre en la base de datos).title: Nombre de visualización de la tabla en la interfaz.fields: Colección de campos; cada campo incluye atributos como type, name, entre otros.Cuando necesite añadir campos o modificar configuraciones para las colecciones de otros plugins, puede utilizar extendCollection():
Después de activar el plugin, el sistema añadirá automáticamente el campo isPublished a la tabla articles existente.
El directorio convencional se cargará completamente antes de que se ejecuten los métodos load() de todos los plugins, evitando así problemas de dependencia causados por la falta de carga de algunas tablas de datos.
Cuando un plugin se activa por primera vez, el sistema sincronizará automáticamente las configuraciones de la colección con la estructura de la base de datos. Si el plugin ya está instalado y en ejecución, después de añadir o modificar colecciones, deberá ejecutar manualmente el comando de actualización:
Si se producen excepciones o datos inconsistentes durante la sincronización, puede reconstruir la estructura de la tabla reinstalando la aplicación:
Después de definir una colección, el sistema generará automáticamente un recurso correspondiente, sobre el cual podrá realizar directamente operaciones CRUD (crear, leer, actualizar, eliminar) a través de la API. Consulte Gestor de Recursos para más información.