Cette documentation a été traduite automatiquement par IA.
Database
Database est un composant essentiel des sources de données de base de données (DataSource). Chaque source de données de base de données possède une instance Database correspondante, accessible via dataSource.db. L'instance de base de données de la source de données principale offre également l'alias pratique app.db. Bien connaître les méthodes courantes de db est fondamental pour le développement de plugins côté serveur.
Composants de Database
Un Database typique se compose des éléments suivants :
- Collection : Définit la structure des tables de données.
- Model : Correspond aux modèles ORM (généralement gérés par Sequelize).
- Repository : La couche de dépôt qui encapsule la logique d'accès aux données, offrant des méthodes d'opération de plus haut niveau.
- FieldType : Types de champs.
- FilterOperator : Opérateurs utilisés pour le filtrage.
- Event : Événements de cycle de vie et événements de base de données.
Moment d'utilisation dans les plugins
Ce qu'il convient de faire pendant l'étape beforeLoad
À cette étape, les opérations de base de données ne sont pas autorisées. Elle est appropriée pour l'enregistrement de classes statiques ou l'écoute d'événements.
db.registerFieldTypes()— Types de champs personnalisésdb.registerModels()— Enregistrer des classes de modèles personnaliséesdb.registerRepositories()— Enregistrer des classes de dépôts personnaliséesdb.registerOperators()— Enregistrer des opérateurs de filtre personnalisésdb.on()— Écouter les événements liés à la base de données
Ce qu'il convient de faire pendant l'étape load
À cette étape, toutes les définitions de classes et les événements précédents ont été chargés, de sorte que le chargement des tables de données ne présentera aucune omission.
db.defineCollection()— Définir de nouvelles tables de donnéesdb.extendCollection()— Étendre les configurations de tables de données existantes
Pour la définition des tables intégrées aux plugins, il est recommandé de les placer dans le répertoire ./src/server/collections. Pour plus de détails, consultez Collections.
Opérations sur les données
Database offre deux méthodes principales pour accéder et manipuler les données :
Opérations via le Repository
La couche Repository est généralement utilisée pour encapsuler la logique métier, telle que la pagination, le filtrage, les vérifications de permissions, etc.
Opérations via le Model
La couche Model correspond directement aux entités ORM et est adaptée aux opérations de base de données de plus bas niveau.

