Cette documentation a été traduite automatiquement par IA.
DataSourceManager : Gestion des Sources de Données
NocoBase met à votre disposition le DataSourceManager pour gérer plusieurs sources de données. Chaque DataSource possède ses propres instances de Database, de ResourceManager et d'ACL, ce qui permet aux développeurs de gérer et d'étendre plusieurs sources de données de manière flexible.
Concepts de base
Chaque instance de DataSource contient les éléments suivants :
dataSource.collectionManager: Utilisé pour gérer les collections et les champs.dataSource.resourceManager: Gère les opérations liées aux ressources (par exemple, la création, la lecture, la mise à jour, la suppression, etc.).dataSource.acl: Le contrôle d'accès (ACL) pour les opérations sur les ressources.
Pour un accès plus pratique, des alias sont fournis pour les membres de la source de données principale :
app.dbéquivaut àdataSourceManager.get('main').collectionManager.dbapp.acléquivaut àdataSourceManager.get('main').aclapp.resourceManageréquivaut àdataSourceManager.get('main').resourceManager
Méthodes courantes
dataSourceManager.get(dataSourceKey)
Cette méthode renvoie l'instance DataSource spécifiée.
dataSourceManager.use()
Enregistre un middleware pour toutes les sources de données. Cela affectera les opérations sur toutes les sources de données.
dataSourceManager.beforeAddDataSource()
S'exécute avant le chargement d'une source de données. Couramment utilisé pour l'enregistrement de classes statiques, telles que les classes de modèles et l'enregistrement de types de champs :
dataSourceManager.afterAddDataSource()
S'exécute après le chargement d'une source de données. Couramment utilisé pour enregistrer des opérations, définir le contrôle d'accès, etc.
Extension des sources de données
Pour une extension complète des sources de données, veuillez vous référer au chapitre sur l'extension des sources de données.

