Коллекции
При разработке плагинов NocoBase коллекция (таблица данных) является одной из ключевых концепций. Вы можете добавлять или изменять структуры таблиц данных в плагинах, определяя или расширяя коллекции. В отличие от таблиц данных, созданных через интерфейс управления источниками данных, коллекции, определенные в коде, обычно представляют собой таблицы метаданных системного уровня и не отображаются в списке управления источниками данных.
Определение таблиц данных
Следуя стандартной структуре каталогов, файлы коллекций следует размещать в каталоге ./src/server/collections. Используйте defineCollection() для создания новых таблиц и extendCollection() для расширения существующих таблиц.
В примере выше:
name: Имя таблицы (в базе данных автоматически будет создана таблица с таким же именем).title: отображаемое название таблицы в интерфейсе.fields: набор полей; каждое поле содержитtype,nameи другие атрибуты.
Когда вам нужно добавить поля или изменить конфигурацию коллекций других плагинов, вы можете использовать extendCollection():
После активации плагина система автоматически добавит поле isPublished в существующую таблицу articles.
Обычный каталог завершит загрузку до того, как будут выполнены методы load() всех плагинов, что позволит избежать проблем с зависимостями, вызванных тем, что некоторые таблицы данных не загружаются.
Синхронизация структуры базы данных
При первой активации плагина система автоматически синхронизирует конфигурацию коллекции со структурой базы данных. Если плагин уже установлен и запущен, после добавления или изменения коллекций необходимо вручную выполнить команду обновления:
Если при синхронизации возникают исключения или грязные данные, вы можете перестроить структуру таблицы, переустановив приложение:
Автогенерация ресурсов
После определения коллекции система автоматически сгене рирует соответствующий ресурс, в котором вы сможете напрямую выполнять CRUD-операции через API. См. Менеджер ресурсов.

