Genere tipos TypeScript desde su base de datos
Un comando convierte tus tablas en tipos. Luego, su editor rechaza una columna incorrecta o un valor incorrecto antes de ejecutar cualquier cosa.
1. Generar el archivo
La herramienta lee el esquema de su proyecto y escribe el archivo. Sin --url y --key, busca AURABASE_URL y AURABASE_ANON_KEY (también NEXT_PUBLIC_AURABASE_URL, VITE_AURABASE_URL y AURABASE_SERVICE_ROLE_KEY) en su entorno y en .env, .env.local y .env.development.
En un proyecto con dos tablas y dos funciones, respondió:
Ejecútelo nuevamente cada vez que cambie el esquema. Agregue --schema <name> para un esquema que no sea public y --type-name para cambiar el nombre del tipo principal.
2. Úselo con el cliente
El tipo generado describe cada tabla con Row, Insert y Update. Comparado con un archivo real, el compilador dio estos resultados:
En Insert, una columna con una columna predeterminada o que acepta valores NULL es opcional. En Update, cada columna es opcional.
3. Tipos de filas para tus componentes
Enums<'name'> proporciona los valores de una enumeración de base de datos.
4. Qué se controla
- Una tabla que no está en el archivo generado es no rechazada:
aura.from('anything')aún se compila y sus filas no están tipificadas. - Las funciones aparecen bajo
Functionscon sus argumentos. Una función que devuelve un tipo de fila personalizado se muestra comoJsonounknown. - El archivo refleja el esquema en el momento en que lo generó. Una columna agregada más tarde es desconocida para los tipos hasta que vuelva a ejecutar la herramienta.
- Utilice la clave pública para generar los tipos a menos que algunas tablas estén ocultas. Nunca confirme una clave
service_role.