Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Použijte změny entit Rayfin v databázi pomocí rayfin up nebo rayfin up db apply a ověřte, že se schéma dostalo na server.
Úprava třídy rayfin/data/ sama o sobě nemění nasazenou databázi. Rayfin čte vaše entity a generuje konfiguraci Data API Builder (DAB) pouze tehdy, když explicitně aplikujete změny.
Použití rayfin up pro aktualizace aplikací
Spouštějte npx rayfin up kdykoli chcete nasadit nejnovější změny entity do Fabric aplikace:
npx rayfin up
Tento příkaz:
- Synchronizuje nastavení běhu.
- Aplikuje databázové schéma generované dekorátory v
rayfin/data/. - Vytváří a nasazuje statický obsah, když
staticHostingje povolený.
Příkaz spusťte po každé změně souboru v rayfin/data/. Po prvním nasazení další spuštění aktualizují stejné nasazení místo vytvoření nového nasazení.
Aplikovat pouze změny schématu databáze
Použijte npx rayfin up db apply , když chcete aplikovat databázové schéma bez synchronizace nastavení běhu nebo nasazování statického obsahu:
npx rayfin up db apply
Tento pokročilý podpříkaz je užitečný, když spouštíte frontend s npm run dev, backend je už nasazený a chcete na schématu postupovat nezávisle.
Pokud by změna mohla způsobit ztrátu dat, například vynechání sloupce nebo přejmenování tabulky, CLI operaci zablokuje a popisuje její možný dopad. Po přezkoumání operací a přijetí ztráty dat aplikujte změnu s :--force
npx rayfin up db apply --force
Caution
Tato --force možnost může způsobit trvalou ztrátu dat. Používejte ho až poté, co zkontrolujete všechny operace hlášené CLI.
Ověřte nasazené schéma
Warning
Úspěšný příkaz rayfin up nebo rayfin up db apply nezaručuje, že se váš frontend může okamžitě dotazovat na novou nebo změněnou entitu. Ověřte, že nasazení je zdravé, než entitu otestujete.
Po jakékoli změně v rayfin/data/, zkontrolujte nasazení:
npx rayfin up status
Pokud nová nebo změněná entita stále vrací chyby GraphQL i poté, co se nasazení stane zdravým, aplikujte schéma explicitně a poté entitu znovu otestujte:
npx rayfin up db apply
Přidávejte --force pouze tehdy, pokud CLI hlásí potenciálně destruktivní změnu a vy přijmete ztrátu dat.
Pro stav nasazení čitelného strojem použijte výstup JSON:
npx rayfin up status --json
Odpověď ve formátu JSON můžete použít ve skriptu, který před spuštěním dalších kontrol čeká na úspěšné nasazení.
Postupujte podle typického schématového workflow
# 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
Pokud krok 4 hlásí potenciálně destruktivní operaci, zkontrolujte ji před opětovným spuštěním příkazu pomocí --force.
Změny schématu při řešení problémů
GraphQL vrací interní chybu serveru
Zkontrolujte každé @text() pole na postižené entitě kvůli chybějící max hodnotě. S Microsoft SQL Server @text() bez max generuje sloupecNVARCHAR(MAX), což může zabránit generování schématu GraphQL.
Přidejte explicitní maximální délky a poté použijte schéma:
@text({ max: 200 })
title!: string;
npx rayfin up db apply --force
Před použitím --forcesi prostudujte hlášené operace.
CLI uvádí potenciálně destruktivní změnu
Prohlédněte si uvedené operace, včetně vynechaných sloupců, zúžených typů a přejmenovaných tabulek. Spusťte příkaz znovu --force teprve poté, co ověříte, že ztráta dat je přijatelná.
Aplikace schématu se nezdařila
Spusťte npx rayfin up status a počkejte, dokud služby nebudou v pořádku, než se znovu pokusíte použít schéma.
Datová služba nemá žádný dialekt
Když services.data.enabled je true, nakonfigurujte dialect: mssql v rayfin/rayfin.yml.
services:
data:
enabled: true
dialect: mssql
Použijte výzvu umělé inteligence
Zkopírujte následující prompt do GitHub Copilot nebo jiného kódovacího agenta, který má přístup k vašemu projektu a terminálu:
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`.