Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Bruk Rayfin-entitetsendringer i databasen ved å bruke rayfin up eller rayfin up db apply, og verifiser at skjemaet har nådd serveren.
Å redigere en klasse i rayfin/data/ endrer ikke den distribuerte databasen alene. Rayfin leser enhetene dine og genererer Data API Builder (DAB)-konfigurasjon kun når du eksplisitt anvender endringene.
Bruk rayfin up for applikasjonsoppdateringer
Kjør npx rayfin up når du vil distribuere dine siste enhetsendringer til en Fabric-app:
npx rayfin up
Denne kommandoen gjør følgende:
- Synkroniserer runtime-innstillinger.
- Anvender databaseskjemaet generert fra dekoratørene i
rayfin/data/. - Bygger og distribuerer statisk innhold når
staticHostingdet er aktivert.
Kjør kommandoen etter hver endring i en fil i rayfin/data/. Etter den første utrullingen oppdaterer påfølgende kjøringer den samme utrullingen i stedet for å opprette en ny.
Bruk kun databaseskjemaendringer
Bruk npx rayfin up db apply når du vil bruke databaseskjemaet uten å synkronisere kjøreinnstillingene eller distribuere statisk innhold:
npx rayfin up db apply
Denne avanserte underkommandoen er nyttig når du kjører frontend med npm run dev, backenden er allerede distribuert, og du vil iterere på skjemaet uavhengig.
Hvis en endring kan forårsake datatap, som å fjerne en kolonne eller omdøpe en tabell, blokkerer CLI-en operasjonen og beskriver den potensielle påvirkningen. Etter at du har gjennomgått operasjonene og akseptert datatapet, anvender du endringen med --force:
npx rayfin up db apply --force
Forsiktig!
Alternativet --force kan føre til permanent datatap. Bruk det kun etter at du har gjennomgått alle operasjoner rapportert av CLI.
Verifiser det utplasserte skjemaet
Advarsel!
En vellykket rayfin up eller rayfin up db apply kommando garanterer ikke at frontenden din umiddelbart kan spørre en ny eller endret enhet. Verifiser at distribusjonen er frisk før du tester enheten.
Etter enhver endring i rayfin/data/, sjekk utplasseringen:
npx rayfin up status
Hvis en ny eller endret enhet fortsatt returnerer GraphQL-feil etter at distribusjonen er frisk, bruk skjemaet eksplisitt, og test deretter entiteten på nytt:
npx rayfin up db apply
Legg bare til --force hvis CLI-en rapporterer en potensielt ødeleggende endring og du aksepterer datatapet.
For maskinlesbar distribusjonsstatus, bruk JSON-utdata:
npx rayfin up status --json
Du kan bruke JSON-svaret i et skript som venter på en sunn distribusjon før du kjører videre sjekker.
Følg en typisk skjema-arbeidsflyt
# 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 steg 4 rapporterer en potensielt destruktiv operasjon, gjennomgå den før du kjører kommandoen på nytt med --force.
Feilsøk endringer i skjemaet
GraphQL returnerer en intern serverfeil
Sjekk hvert @text() felt på den berørte enheten for manglende max verdi. Med Microsoft SQL Server genererer @text()NVARCHAR(MAX) uten max en kolonne, som kan forhindre GraphQL-skjemagenerering.
Legg til eksplisitte maksimale lengder, og bruk deretter skjemaet:
@text({ max: 200 })
title!: string;
npx rayfin up db apply --force
Gå gjennom de rapporterte operasjonene før du bruker --force.
CLI rapporterer om en potensielt ødeleggende endring
Gå gjennom de oppførte operasjonene, inkludert droppede kolonner, innsnevrede typer og omdøpte tabeller. Kjør kommandoen --force på nytt først etter at du har bekreftet at datatapet er akseptabelt.
Skjema-applikasjonen feiler
Kjør npx rayfin up status, og vent til tjenestene er friske før du prøver skjema-applikasjonen på nytt.
Datatjenesten har ingen dialekt
Når services.data.enabled er true, konfigurerer dialect: mssql i rayfin/rayfin.yml.
services:
data:
enabled: true
dialect: mssql
Bruk en AI-prompt
Kopier følgende prompt inn i GitHub Copilot eller en annen kodeagent som har tilgang til prosjektet og terminalen din:
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`.