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
- Ve a tu Supabase Dashboard y selecciona tu proyecto
- Abre el SQL Editor
- Copia y pega el contenido de
supabase/migrations/init.sql - 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
productsypricesson 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.