Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Anvend Rayfin-entitetsændringer på databasen ved at bruge rayfin up eller rayfin up db apply, og verificér, at skemaet nåede serveren.
At redigere en klasse ændrer rayfin/data/ ikke den deployerede database i sig selv. Rayfin læser dine enheder og genererer kun Data API Builder (DAB)-konfiguration, når du eksplicit anvender ændringerne.
Brug rayfin up til applikationsopdateringer
Kør npx rayfin up dengang, du vil implementere dine seneste entitetsændringer i en Fabric-app:
npx rayfin up
Denne kommando:
- Synkroniserer runtime-indstillinger.
- Anvender databaseskemaet genereret af dekoratorerne i
rayfin/data/. - Bygger og deployerer statisk indhold, når
staticHostingdet er aktiveret.
Kør kommandoen efter hver ændring i en fil i rayfin/data/. Efter den første udrulning opdaterer efterfølgende kørsler den samme udrulning i stedet for at oprette en ny.
Anvend kun ændringer i databaseskemaet
Brug npx rayfin up db apply den, når du vil anvende databaseskemaet uden at synkronisere runtime-indstillinger eller udrulle statisk indhold:
npx rayfin up db apply
Denne avancerede underkommando er nyttig, når du kører frontend med npm run dev, backenden er allerede deployed, og du vil iterere på skemaet uafhængigt.
Hvis en ændring kan forårsage datatab, såsom at fjerne en kolonne eller omdøbe en tabel, blokerer CLI'en operationen og beskriver den potentielle påvirkning. Efter du har gennemgået driften og accepteret datatabet, anvender du ændringen med --force:
npx rayfin up db apply --force
Forsigtighed
Muligheden --force kan forårsage permanent datatab. Brug det kun, efter du har gennemgået alle operationer, som CLI har rapporteret.
Verificér det implementerede skema
Advarsel!
En succesfuld rayfin up kommando rayfin up db apply garanterer ikke, at din frontend straks kan forespørge en ny eller ændret enhed. Tjek at udrulningen er sund, før du tester entiteten.
Efter enhver ændring i rayfin/data/, tjek udrulningen:
npx rayfin up status
Hvis en ny eller ændret enhed stadig returnerer GraphQL-fejl efter, at udrulningen er blevet sund, anvend skemaet eksplicit, og test derefter entiteten igen:
npx rayfin up db apply
Tilføj --force kun, hvis CLI rapporterer en potentielt destruktiv ændring, og du accepterer datatabet.
For maskinlæsbar udrulningsstatus, brug JSON-output:
npx rayfin up status --json
Du kan bruge JSON-svaret i et script, der venter på en sund udrulning, før der køres yderligere kontroller.
Følg en typisk skema-arbejdsgang
# 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
Hvis trin 4 rapporterer en potentielt destruktiv operation, gennemgå det, før kommandoen gentages med --force.
Fejlsøg skemaændringer
GraphQL returnerer en intern serverfejl
Tjek hvert @text() felt på den berørte enhed for en manglende max værdi. Med Microsoft SQL Server genererer @text() uden max en NVARCHAR(MAX) kolonne, som kan forhindre generering af GraphQL-skemaer.
Tilføj eksplicitte maksimale længder, og anvend derefter skemaet:
@text({ max: 200 })
title!: string;
npx rayfin up db apply --force
Gennemgå de rapporterede operationer, før du bruger --force.
CLI rapporterer om en potentielt ødelæggende ændring
Gennemgå de listede operationer, inklusive droppede kolonner, indsnævrede typer og omdøbte tabeller. Gentag kun kommandoen, --force når du har bekræftet, at datatabet er acceptabelt.
Skemaanvendelsen fejler
Kør npx rayfin up status, og vent til tjenesterne bliver sunde, før du prøver skema-anvendelsen igen.
Datatjenesten har ingen dialekt
Når services.data.enabled er true, konfigurerer dialect: mssql i rayfin/rayfin.yml.
services:
data:
enabled: true
dialect: mssql
Brug en AI-prompt
Kopier følgende prompt ind i GitHub Copilot eller en anden kodningsagent, der har adgang til dit projekt og 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`.