Cette documentation a été traduite automatiquement par IA.
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.
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').resourceManagerCette méthode renvoie l'instance DataSource spécifiée.
Enregistre un middleware pour toutes les sources de données. Cela affectera les opérations sur toutes les sources de données.
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 :
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.
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.