Менеджер источников данных (dataSourceManager)
NocoBase предоставляет Менеджер источников данных для управления несколькими источниками данных. Каждый источник данных DataSource имеет собственные экземпляры Database, ResourceManager и ACL, что позволяет разработчикам гибко управлять несколькими источниками данных и расширять их.
Основные понятия
Каждый экземпляр DataSource содержит следующее:
dataSource.collectionManager: используется для управления коллекциями и полями.dataSource.resourceManager: обрабатывает операции, связанные с ресурсами (например, создание, чтение, обновление и удаление).dataSource.acl: контроль доступа (ACL) для операций с ресурсами.
Для удобного доступа к основным компонентам основного источника данных предусмотрены псевдонимы:
app.dbэквивалентноdataSourceManager.get('main').collectionManager.dbapp.aclэквивалентноdataSourceManager.get('main').aclapp.resourceManagerэквивалентноdataSourceManager.get('main').resourceManager
Общие методы
dataSourceManager.get(dataSourceKey)
Этот метод возвращает указанный экземпляр DataSource.
dataSourceManager.use()
Регистрирует промежуточный обработчик для всех источников данных. Это повлияет на операции во всех источниках данных.
dataSourceManager.beforeAddDataSource()
Выполняет ся перед загрузкой источника данных. Обычно используется для регистрации статических классов, например классов моделей и типов полей:
dataSourceManager.afterAddDataSource()
Выполняется после загрузки источника данных. Обычно используется для регистрации операций и настройки контроля доступа.
Расширение источника данных
Полное описание расширения источника данных см. в главе «Расширение источника данных».

