Documentación
docs

Base de datos (Supabase)

Cómo crear el esquema de Shipabase en Supabase: migración inicial, tablas del sistema y seguridad con Row Level Security.

Shipabase incluye una migración SQL con todo el esquema que necesita: tablas de usuarios, clientes, productos, precios y suscripciones, con Row Level Security ya configurado.

Ejecutar la migración

  1. Ve a tu Supabase Dashboard y selecciona tu proyecto
  2. Abre el SQL Editor
  3. Copia y pega el contenido de supabase/migrations/init.sql
  4. Haz clic en Run

Nota: no necesitas cargar productos ni precios a mano. Se sincronizan automáticamente desde Stripe vía webhooks — lo verás en Configurar Stripe.

Las tablas del sistema

Tabla Qué guarda
users Perfiles de usuario extendidos, vinculados a Supabase Auth.
customers Mapeo entre usuarios y sus IDs de cliente en Stripe.
products Catálogo de productos, sincronizado desde Stripe.
prices Planes de precios, sincronizados desde Stripe.
subscriptions Suscripciones de cada usuario, sincronizadas desde Stripe.

Seguridad: Row Level Security

Todas las tablas tienen RLS habilitado desde el primer día:

  • Cada usuario solo puede ver y editar sus propios datos
  • products y prices son de lectura pública (los necesita la página de precios)
  • Las suscripciones son privadas de cada usuario

Esto significa que aunque la anon key de Supabase es pública, nadie puede leer datos ajenos: las políticas de RLS se aplican en la base de datos, no en tu código.

Tipos TypeScript

El archivo types_db.ts contiene los tipos generados a partir del esquema. Si modificas la base de datos, puedes regenerarlos con la CLI de Supabase:

npx supabase gen types typescript --project-id tu-project-ref > types_db.ts

Siguiente paso

Configura Stripe para crear tus productos y conectar los webhooks.