Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Alkalmazza a Rayfin entitás módosításait az adatbázisra a rayfin up db apply vagy a rayfin up használatával, és ellenőrizze, hogy a séma eljutott-e a kiszolgálóra.
Egy osztály szerkesztése rayfin/data/ önmagában nem változtatja meg a telepített adatbázist. A Rayfin csak akkor olvassa el az entitásokat, és generálja a Data API Builder (DAB) konfigurációt, ha kifejezetten alkalmazod a változtatásokat.
Alkalmazás frissítésekhez való felhasználás rayfin up
Futtasd npx rayfin up akkor is, amikor a legutóbbi entitásváltozásokat szeretnéd telepíteni egy Fabric alkalmazásba:
npx rayfin up
Ez a parancs:
- Szinkronizálja a futási idejű beállításokat.
- Alkalmazza a(z)
rayfin/data/dekorátoraiból generált adatbázissémát. - Statikus tartalmat épít és telepít, ha
staticHostingengedélyezve.
A parancsot minden fájl módosítása után futtatd .rayfin/data/ Az első telepítés után a következő futtatások ugyanazt a telepítést frissítik, nem pedig újat hoznának létre.
Csak adatbázis-séma változtatások alkalmazása
Használd, npx rayfin up db apply amikor az adatbázis sémát szeretnéd alkalmazni futási beállítások szinkronizálása vagy statikus tartalom telepítése nélkül:
npx rayfin up db apply
Ez a fejlett alparancs hasznos, amikor a frontendet futtatod npm run dev, a backend már telepítve van, és önállóan szeretnéd iterálni a sémát.
Ha egy változás adatvesztést okozhat, például egy oszlop elhagyását vagy egy tábla átnevezését, a CLI blokkolja a műveletet és leírja a lehetséges hatást. Miután átnézted a műveleteket és elfogadtad az adatvesztést, alkalmazd a módosítást a következőkkel:--force
npx rayfin up db apply --force
Caution
Ez az --force opció tartós adatvesztést okozhat. Csak akkor használd, ha átnézted az összes CLI által jelentett műveletet.
Ellenőrizd a telepített sémát
Warning
Egy sikeres rayfin up vagy rayfin up db apply parancs nem garantálja, hogy a frontend azonnal le tud kérdezni egy új vagy megváltozott entitást. Ellenőrizd, hogy a telepítés egészséges-e, mielőtt tesztelnéd az entitást.
A(z) rayfin/data/ bármilyen módosítása után ellenőrizd a telepítést:
npx rayfin up status
Ha egy új vagy módosított entitás még mindig GraphQL hibákat ad a telepítés egészségessé válása után, alkalmazzuk a sémát explicitíven, majd teszteljük újra az entitást:
npx rayfin up db apply
Csak akkor add hozzá a --force-t, ha a CLI potenciálisan destruktív változást jelez, és elfogadod az adatvesztést.
A gépi olvasható telepítési státuszhoz JSON kimenetet használjunk:
npx rayfin up status --json
A JSON választ használhatod egy olyan szkriptben, amely egészséges telepítésre vár, mielőtt további ellenőrzéseket végezne.
Kövesd a tipikus séma munkafolyamatot
# 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
Ha a 4. lépés potenciálisan romboló műveletet jelent, nézze át, mielőtt újra futtatja a parancsot .--force
Hibakeresés séma változásai
A GraphQL belső szerver hibát ad
Ellenőrizd az érintett entitás minden @text() mezőjét, hogy hiányzó max érték van-e. A Microsoft SQL Server esetében a NVARCHAR(MAX) nélküli max egy @text() oszlopot hoz létre, ami megakadályozhatja a GraphQL-séma generálását.
Add hozzá az explicit maximális hosszokat, majd alkalmazzuk a sémát:
@text({ max: 200 })
title!: string;
npx rayfin up db apply --force
Nézze át a jelentett műveleteket, mielőtt használnád --force.
A CLI egy potenciálisan romboló változásról számol be
Tekintse át a felsorolt műveleteket, beleértve az elhagyott oszlopokat, a szűkített típusokat és az átnevezett táblákat. Csak akkor futtasd újra a parancsot --force , ha megerősítetted, hogy az adatvesztés elfogadott.
A séma alkalmazása meghibásodik
Futtasd a(z) npx rayfin up status parancsot, és várd meg, amíg a szolgáltatások egészséges állapotba kerülnek, mielőtt újra megpróbálod alkalmazni a sémát.
Az adatszolgáltatásnak nincs dialektusa
Amikor a(z) services.data.enabled értéke true, konfigurálja a(z) dialect: mssql elemet a(z) rayfin/rayfin.yml részben.
services:
data:
enabled: true
dialect: mssql
Használj egy AI promptot
Másold be a következő promptot a GitHub Copilot-ba vagy egy másik kódoló ügynökbe, amely hozzáfér a projektedhez és terminálodhoz:
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`.