Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Appliquez les modifications d’entités Rayfin à la base de données en utilisant rayfin up ou rayfin up db apply, et vérifiez que le schéma a atteint le serveur.
Modifier une classe dans rayfin/data/ ne modifie pas, à lui seul, la base de données déployée. Rayfin lit vos entités et ne génère la configuration du Data API Builder (DAB) que lorsque vous appliquez explicitement les modifications.
Utilisation rayfin up pour les mises à jour des applications
Exécutez npx rayfin up chaque fois que vous souhaitez déployer vos derniers changements d’entité dans une application Fabric :
npx rayfin up
Cette commande :
- Synchronise les paramètres d’exécution.
- Applique le schéma de base de données généré par les décorateurs dans
rayfin/data/. - Construit et déploie du contenu statique lorsqu’il
staticHostingest activé.
Exécutez la commande après chaque modification d’un fichier dans rayfin/data/. Après le premier déploiement, les exécutions suivantes mettent à jour le même déploiement au lieu d’en créer un nouveau.
Appliquer uniquement les modifications du schéma de la base de données
À utiliser npx rayfin up db apply lorsque vous souhaitez appliquer le schéma de la base de données sans synchroniser les paramètres d’exécution ni déployer de contenu statique :
npx rayfin up db apply
Cette sous-commande avancée est utile lorsque vous exécutez le frontend avec npm run dev, le backend est déjà déployé, et que vous souhaitez itérer sur le schéma de manière indépendante.
Si un changement peut entraîner une perte de données, comme supprimer une colonne ou renommer une table, la CLI bloque l’opération et décrit l’impact potentiel. Après avoir examiné les opérations et accepté la perte de données, appliquez le changement avec --force:
npx rayfin up db apply --force
Caution
Cette --force option peut entraîner une perte permanente de données. Utilisez-le seulement après avoir examiné chaque opération signalée par la CLI.
Vérifiez le schéma déployé
Warning
L’exécution réussie d’une commande rayfin up db apply ou rayfin up ne garantit pas que votre interface puisse immédiatement interroger une entité nouvelle ou modifiée. Vérifiez que le déploiement est en bonne santé avant de tester l’entité.
Après tout changement de rayfin/data/, vérifiez le déploiement :
npx rayfin up status
Si une entité nouvelle ou modifiée restitue toujours des erreurs GraphQL une fois le déploiement sain établi, appliquez explicitement le schéma, puis testez à nouveau l’entité :
npx rayfin up db apply
Ajoutez --force seulement si la CLI signale un changement potentiellement destructeur et que vous acceptez la perte de données.
Pour un état de déploiement lisible par machine, utilisez la sortie JSON :
npx rayfin up status --json
Vous pouvez utiliser la réponse JSON dans un script qui attend un déploiement sain avant d’effectuer d’autres vérifications.
Suivez un flux de travail de schéma typique
# 1. Edit an entity, such as rayfin/data/Todo.ts.
# 2. Apply the application changes.
npx rayfin up
# 3. Verify that the deployment is healthy.
npx rayfin up status
# 4. If the changed entity still fails, apply the schema explicitly.
npx rayfin up db apply
Si l’étape 4 signale une opération potentiellement destructrice, révisez-la avant de relancer la commande avec --force.
Résoudre les problèmes liés aux modifications du schéma
GraphQL renvoie une erreur serveur interne
Vérifiez chaque @text() champ de l’entité concernée pour détecter une valeur manquante max . Avec Microsoft SQL Server, @text() sans max génère une colonne NVARCHAR(MAX), ce qui peut empêcher la génération du schéma GraphQL.
Ajoutez des longueurs maximales explicites, puis appliquez le schéma :
@text({ max: 200 })
title!: string;
npx rayfin up db apply --force
Examinez les opérations déclarées avant d’utiliser --force.
Le CLI rapporte un changement potentiellement destructeur
Examinez les opérations listées, y compris les colonnes supprimées, les types rétrécis et les tableaux renommés. Relance la commande --force seulement après avoir confirmé que la perte de données est acceptable.
L’application du schéma échoue
Exécutez npx rayfin up status, et attendez que les services soient en bonne santé avant de réessayer l’application du schéma.
Le service de données n’a pas de dialecte
Lorsque services.data.enabled est true, configurer dialect: mssql dans rayfin/rayfin.yml.
services:
data:
enabled: true
dialect: mssql
Utiliser un prompt IA
Copiez l’invite suivante dans GitHub Copilot ou un autre agent de codage qui a accès à votre projet et à votre terminal :
I just added a new field to an entity in my Rayfin project's rayfin/data/ folder. Run
`npx rayfin up` to apply the change, then run `npx rayfin up status` to confirm the
deployment is healthy. If querying the changed entity still fails after that, run
`npx rayfin up db apply` and check again. Review any potentially destructive operations with me before using `--force`.