Gere tipos TypeScript do seu banco de dados
Um comando transforma suas tabelas em tipos. Seu editor rejeita uma coluna errada ou um valor errado antes de você executar qualquer coisa.
1. Gere o arquivo
A ferramenta lê o esquema do seu projeto e grava o arquivo. Sem --url e --key, ele procura AURABASE_URL e AURABASE_ANON_KEY (também NEXT_PUBLIC_AURABASE_URL, VITE_AURABASE_URL e AURABASE_SERVICE_ROLE_KEY) em seu ambiente e em .env, .env.local e .env.development.
Em um projeto com duas tabelas e duas funções, respondeu:
Execute-o novamente sempre que o esquema for alterado. Adicione --schema <name> para um esquema diferente de public e --type-name para renomear o tipo principal.
2. Use com o cliente
O tipo gerado descreve cada tabela com Row, Insert e Update. Contra um arquivo real, o compilador deu estes resultados:
Em Insert, uma coluna com uma coluna padrão ou anulável é opcional. Em Update, cada coluna é opcional.
3. Tipos de linhas para seus componentes
Enums<'name'> fornece os valores de uma enumeração de banco de dados.
4. O que é verificado
- Uma tabela que não está no arquivo gerado é e não rejeitada:
aura.from('anything')ainda é compilada e suas linhas não são digitadas. - As funções aparecem em
Functionscom seus argumentos. Uma função que retorna um tipo de linha personalizado é mostrada comoJsonouunknown. - O arquivo reflete o esquema no momento em que você o gerou. Uma coluna adicionada posteriormente é desconhecida para os tipos até que você execute a ferramenta novamente.
- Use a chave pública para gerar os tipos, a menos que algumas tabelas estejam ocultas dela. Nunca confirme uma chave
service_role.