Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplique as alterações da entidade Rayfin ao banco de dados usando rayfin up ou rayfin up db apply, e verifique se o esquema chegou ao servidor.
Editar uma classe em rayfin/data/ não altera, por si só, o banco de dados implantado. O Rayfin lê suas entidades e gera configuração do Data API Builder (DAB) somente quando você aplica explicitamente as alterações.
Uso rayfin up para atualizações de aplicações
Execute npx rayfin up sempre que quiser implantar suas últimas mudanças de entidade em um aplicativo Fabric:
npx rayfin up
Este comando:
- Sincroniza as configurações de runtime.
- Aplica o esquema do banco de dados gerado a partir dos decoradores em
rayfin/data/. - Constrói e implanta conteúdo estático quando
staticHostingativado.
Execute o comando após cada alteração em um arquivo em rayfin/data/. Após a primeira implantação, as execuções subsequentes atualizam a mesma implantação em vez de criar uma nova.
Aplique apenas alterações no esquema do banco de dados
Use npx rayfin up db apply quando quiser aplicar o esquema do banco de dados sem sincronizar configurações de tempo de execução ou implantar conteúdo estático:
npx rayfin up db apply
Esse subcomando avançado é útil quando você executa o frontend com npm run dev, o backend já foi implantado e você quer fazer alterações no esquema de forma independente.
Se uma mudança puder causar perda de dados, como a queda de uma coluna ou a renomeação de uma tabela, a CLI bloqueia a operação e descreve o impacto potencial. Após revisar as operações e aceitar a perda de dados, aplique a alteração com --force:
npx rayfin up db apply --force
Caution
A --force opção pode causar perda permanente de dados. Use-o somente após revisar todas as operações reportadas pela CLI.
Verifique o esquema implantado
Aviso
Um comando rayfin up ou rayfin up db apply bem-sucedido não garante que seu frontend possa consultar imediatamente uma entidade nova ou alterada. Verifique se a implantação está saudável antes de testar a entidade.
Após qualquer mudança em rayfin/data/, verifique a implantação:
npx rayfin up status
Se uma entidade nova ou alterada ainda retorna erros de GraphQL após a implantação ficar saudável, aplique o esquema explicitamente e teste a entidade novamente:
npx rayfin up db apply
Adicione --force apenas se o CLI reportar uma mudança potencialmente destrutiva e você aceitar a perda de dados.
Para o estado de implantação legível por máquina, use saída em JSON:
npx rayfin up status --json
Você pode usar a resposta JSON em um script que espera uma implantação saudável antes de realizar novas verificações.
Siga um fluxo de trabalho típico de schema
# 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
Se o passo 4 reportar uma operação potencialmente destrutiva, revise-a antes de executar novamente o comando com --force.
Solucionar problemas de alterações no esquema
O GraphQL retorna um erro interno do servidor
Verifique todos @text() os campos da entidade afetada para ver se há algum valor faltando max . Com o Microsoft SQL Server, @text() sem max gera uma coluna NVARCHAR(MAX), o que pode impedir a geração do esquema GraphQL.
Adicione comprimentos máximos explícitos e então aplique o esquema:
@text({ max: 200 })
title!: string;
npx rayfin up db apply --force
Revise as operações reportadas antes de usar --force.
O CLI relata uma mudança potencialmente destrutiva
Revise as operações listadas, incluindo colunas eliminadas, tipos restringidos e tabelas renomeadas. Reexecute o comando --force somente depois de confirmar que a perda de dados é aceitável.
A aplicação do esquema falha
Execute npx rayfin up status e espere os serviços estarem saudáveis antes de tentar aplicar o esquema novamente.
O serviço de dados não possui dialeto
Quando services.data.enabled for true, configure dialect: mssql em rayfin/rayfin.yml.
services:
data:
enabled: true
dialect: mssql
Use um prompt de IA
Copie o seguinte prompt para o GitHub Copilot ou outro agente de programação que tenha acesso ao seu projeto e 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`.