Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Aplikujte Rayfinove entity zmeny v databáze pomocou rayfin up alebo rayfin up db apply, a overte, že schéma dorazila na server.
Úprava triedy rayfin/data/ sama o sebe nemení nasadenú databázu. Rayfin číta vaše entity a generuje konfiguráciu Data API Builder (DAB) len vtedy, keď explicitne aplikujete zmeny.
Použitie rayfin up na aktualizácie aplikácií
Spustite npx rayfin up ho vždy, keď chcete nasadiť najnovšie zmeny entity do aplikácie Fabric:
npx rayfin up
Tento príkaz:
- Synchronizuje nastavenia behu.
- Aplikuje databázovú schému generovanú dekorátormi v
rayfin/data/. - Vytvára a nasadzuje statický obsah, keď
staticHostingje povolený.
Spustite príkaz po každej zmene súboru v rayfin/data/. Po prvom nasadení sa ďalšie spustenia aktualizujú rovnaké nasadenie namiesto vytvorenia nového.
Aplikovať iba zmeny schémy databázy
Používajte npx rayfin up db apply , keď chcete aplikovať databázovú schému bez synchronizácie nastavení behu alebo nasadzovania statického obsahu:
npx rayfin up db apply
Tento pokročilý podpríkaz je užitočný, keď spúšťate frontend s npm run dev, backend je už nasadený a chcete samostatne iterovať na schéme.
Ak zmena môže spôsobiť stratu dát, napríklad vynechanie stĺpca alebo premenovanie tabuľky, CLI operáciu zablokuje a popisuje možný dopad. Po kontrole operácií a prijatí straty dát aplikujte zmenu s :--force
npx rayfin up db apply --force
Výstraha
Táto --force možnosť môže spôsobiť trvalú stratu dát. Používajte ho až po tom, čo si preštudujete každú operáciu nahlásenú CLI.
Overte nasadenú schému
Upozornenie
Úspešný rayfin up alebo príkaz nezaručuje rayfin up db apply , že frontend môže okamžite vykonať dotaz na novú alebo zmenenú entitu. Overte, či je nasadenie zdravé, ešte predtým, než entitu otestujete.
Po akejkoľvek zmene v rayfin/data/, skontrolujte nasadenie:
npx rayfin up status
Ak nová alebo zmenená entita stále vracia chyby GraphQL aj po tom, čo nasadenie zvládne, použite schému explicitne a potom entitu opäť otestujte:
npx rayfin up db apply
Pridajte --force len v prípade, že CLI hlási potenciálne deštruktívnu zmenu a vy akceptujete stratu dát.
Pre stav strojovo čitateľného nasadenia použite výstup JSON:
npx rayfin up status --json
Odpoveď JSON môžete použiť v skripte, ktorá čaká na zdravé nasadenie pred ďalšími kontrolami.
Riaďte sa typickým pracovným postupom schémy
# 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
Ak krok 4 hlási potenciálne deštruktívnu operáciu, skontrolujte ju pred opätovným spustením príkazu pomocou --force.
Riešenie zmien schémy
GraphQL vracia internú chybu servera
Skontrolujte každé @text() pole na postihnutej entite, či nechýba hodnota max . S Microsoft SQL Server @text() bez maxNVARCHAR(MAX) generuje stĺpec, čo môže zabrániť generovaniu schémy v GraphQL.
Pridaj explicitné maximálne dĺžky a potom aplikuj schému:
@text({ max: 200 })
title!: string;
npx rayfin up db apply --force
Pred použitím --forcesi prejdite nahlásené operácie.
CLI hlási potenciálne deštruktívnu zmenu
Prezrite si uvedené operácie, vrátane vynechaných stĺpcov, zúžených typov a premenovaných tabuliek. Príkaz zopakujte až --force po tom, čo si overíte, že strata dát je prijateľná.
Aplikácia schémy zlyháva
Bež npx rayfin up statusa počkaj, kým sa služby stanú zdravými, než znova skúsiš použiť schému.
Dátová služba nemá dialekt
Keď services.data.enabled je , truekonfiguruj dialect: mssql v rayfin/rayfin.yml.
services:
data:
enabled: true
dialect: mssql
Použite AI prompt
Skopírujte nasledujúci prompt do GitHub Copilot alebo iného kódovacieho agenta, ktorý má prístup k vášmu 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`.