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