Cómo conectar Storage y base de datos
Clase 11 de 17 • Curso de Supabase
Contenido del curso
Base de Datos y API Automatizada
Storage en Supabase
Conectando el Frontend con Supabase
- 12

Conecta Supabase con frontend real
10:10 min - 13

Supabase JS: de mocks a datos reales
11:03 min - 14

Crear posts reales con Supabase y Next.js
10:10 min - 15

Cómo conectar un feed cronológico con Supabase
07:11 min - 16

Deploy en Vercel con variables Supabase
06:00 min - 17

Qué hacer tras completar Supabase básico
00:42 min
Integra Supabase Storage con tu base de datos y muestra imágenes reales en tu feed, perfil y detalle de post con un flujo simple y eficiente. Aquí se explica por qué guardar la URL pública en la tabla de posts y mantener los archivos en Storage mejora rendimiento, seguridad y control, siguiendo la recomendación directa de Supabase.
¿Cómo se relacionan storage y base de datos en Supabase?
Supabase Storage y la base de datos funcionan como piezas complementarias. Storage aloja los archivos reales: imágenes, videos o documentos. La base de datos guarda la metadata: autor, título, descripción, likes, fecha y la URL pública que apunta al archivo.
¿Qué guarda cada pieza y cómo se vinculan?
- Storage: archivos binarios reales.
- Base de datos: metadata y la columna image_url.
- image_url: enlace público que actúa como puente entre registro y archivo.
- Front end: pide los posts, recibe la URL y renderiza la imagen.
¿Qué ventajas tiene separar archivos y datos?
- No sobrecargas la base de datos con binarios.
- Usas infraestructura optimizada de Storage con CDN y cacheo.
- Respaldas límites y controles: tamaño máximo y tipo de contenido.
- Manejas permisos con row-level security en Storage y en la base de datos por separado.
- Si migras assets a otro servicio, solo actualizas la URL, no mueves blobs.
¿Qué flujo garantiza imágenes visibles en posts y perfiles?
Si el bucket es público, la URL pública se abre en cualquier navegador sin autenticación. Si prefieres privacidad, utiliza sign URLs y ajusta las políticas de acceso. En ambos casos, la tabla de posts debe guardar la URL exacta que genera Storage.
¿Cuáles son los pasos del flujo recomendado?
- Subir el archivo al bucket de Storage.
- Obtener la URL pública que devuelve Storage.
- Guardar esa URL en la columna image_url de la tabla de posts.
- Consultar los posts desde el front end y renderizar cada imagen con su URL.
¿Qué buenas prácticas evitan errores comunes?
- Guardar siempre la URL exacta, no rutas relativas ni solo el nombre del archivo.
- Asegurar que el bucket sea público si no usarás autenticación en lectura.
- Si el bucket es privado, usar sign URLs para lectura controlada.
- Revisar políticas de row-level security: permitir lectura pública o con sign URLs según el caso.
- Mantener la URL como fuente de verdad: si cambias de servicio o estructura, actualiza la URL en la tabla.
¿Qué habilidades y conceptos aplicas en tu proyecto?
Entiendes el patrón recomendado por Supabase para escalabilidad, eficiencia y control: archivo en Storage, URL en la base de datos y render en el front end. En un proyecto como Suplaxigram, cada post tiene autor, caption, fecha y una URL persistente que define qué imagen mostrar en el feed y en el perfil.
- Supabase Storage: alojamiento de archivos con CDN y cacheo.
- Base de datos: metadata estructurada (autor, título, descripción, likes, fecha, image_url).
- URL pública: enlace que conecta registro y archivo para render inmediato.
- Bucket público: acceso sin autenticación para visibilidad abierta.
- sign URLs: acceso temporal cuando el bucket es privado.
- row-level security: políticas de lectura y escritura para proteger archivos y datos.
- Patrón de integración: subir a Storage → obtener URL → guardar URL en la tabla → renderizar en el front end.
- Portabilidad de assets: cambiar de proveedor actualizando solo la URL en los registros.
¿Tienes dudas sobre permisos, estructura de la tabla o flujo de subida? Cuéntalo en comentarios y comparte cómo estás mostrando imágenes en tu feed.