🛠️ Herramientas y Tecnologías
ORM: Prisma
Prisma es un ORM moderno que nos permite interactuar con la base de datos de forma segura y eficiente utilizando TypeScript, migraciones y sin depender de SQL.
Documentación Oficial
Migraciones
Las migraciones son scripts que modifican el esquema de la base de datos de forma controlada y versionada. El schema vive en rial-backend/prisma/schema/ y las migraciones en su subdirectorio migrations/.
Comandos Útiles
# Revisar cambios de schema desde rial-backend
git diff prisma/schema/
# Verificar el estado de migraciones en la base local
DATABASE_URL="postgresql://postgres:postgres@localhost:54322/postgres" \
DATABASE_URL_DIRECT="postgresql://postgres:postgres@localhost:54322/postgres" \
npx prisma migrate status --schema prisma/schema
# Aplicar migraciones pendientes
yarn db:deploy
# Regenerar el cliente después de cambios de schema
yarn db:generate
Para cambios locales de schema, sigue el procedimiento de prisma-migrations: revisar el diff,
aplicar el SQL en la base local, registrar la migración y regenerar el cliente también dentro del
contenedor backend. No uses migrate reset en una base que contenga datos que deban conservarse.
Base de Datos: Supabase
Utilizamos Supabase como nuestro PaaS (Platform as a Service) de base de datos. Acá manejamos nuestra base de datos relacional y nuestro sistema de autenticación.
📊 Mejores Prácticas
Naming Conventions
- Tablas: PascalCase singular (ej:
User,GeneratedImage) - Campos: camelCase (ej:
createdAt,publicId) - Enums: UPPER_SNAKE_CASE (ej:
PENDING_APPROVAL)
¿Necesitas más detalles sobre algún modelo específico? Consulta la documentación del stack tecnológico o revisa los comandos útiles de desarrollo.