← Volver a tutoriales

Cómo crear una base de datos de clientes en Supabase para tu emprendimiento

Aprende a configurar una base de datos en Supabase para almacenar y gestionar información de clientes sin necesidad de infraestructura compleja.

Si estás empezando un emprendimiento y necesitas un lugar sencillo para guardar datos de clientes —como nombre, email, estado de seguimiento o fecha de contacto— Supabase te permite crear una base de datos funcional en minutos, sin administrar servidores.

Paso 1: Crea tu proyecto en Supabase

Ve a supabase.com, regístrate con GitHub o email y haz clic en «New Project
– Elige un nombre para tu proyecto (por ejemplo, «mi-emprendimiento-clientes
– Selecciona una región cercana a tus usuarios para mejor latencia.
– Establece una contraseña segura para la base de datos (guárdala en un administrador de contraseñas).
– Haz clic en «Create new project» y espera a que se provisione (puede tomar 2-3 minutos).

Paso 2: Crea una tabla para clientes

Una vez activo el proyecto, ve al panel de control y selecciona «Table Editor» en la barra izquierda.

  1. Haz clic en «New table
    – Nómbrala «clientes
    – Activa la opción «Enable Row Level Security (RLS)» por seguridad (la configuraremos después).
  2. Agrega las siguientes columnas:
    • id: tipo UUID, valor predeterminado uuid_generate_v4(), clave primaria.
    • nombre: tipo Text, no nulo.
    • email: tipo Text, único (para evitar duplicados).
    • estado: tipo Text, con valores posibles como «nuevo», «contactado», «interesado», «no interesado» (usaremos restricciones después).
    • fecha_creado: tipo Timestamp with time zone, valor predeterminado now().
  3. Haz clic en «Save» para crear la tabla.

Paso 3: Configura seguridad básica (RLS)

Por defecto, Supabase protege tus datos con Row Level Security. Para permitir que tu frontend (o herramientas como formularios) inserte datos, necesitas crear una política sencilla.

  1. En el editor de tabla «clientes», ve a la pestaña «Authentication» y luego «Policies
    – Haz clic en «New policy
    – Elige «Custom policy» y nómbrala «permite_insertar_clientes
    o- Define la acción: INSERT
    – En «Expression», escribe: true (permite inserciones desde cualquier origen; ajustaremos esto más adelante si necesitas autenticación).
  2. Repite el proceso para SELECT si quieres leer los datos desde un frontend público (solo recomendado en etapas muy tempranas de validación).
  3. Guarda cada política.

Advertencia: Usar true en las políticas permite acceso abierto. Esto es aceptable solo para prototipos internos o pruebas muy tempranas. Antes de lanzar públicamente, implementa autenticación con Supabase Auth y restringe las políticas a usuarios autenticados.

Ejemplo: Registrar un cliente desde un formulario sencillo

Supongamos que usas un formulario de Google o Typeform que envía datos mediante webhook a una URL. Puedes usar Supabase Functions o un endpoint externo (como n8n o Make.com) para recibir esos datos y hacer un INSERT en la tabla «clientes
o- Ejemplo de comando SQL que ejecutaría tu automatización:

INSERT INTO clientes (nombre, email, estado) VALUES ('María González', 'maria@ejemplo.com', 'nuevo');

Si usas un cliente JavaScript (por ejemplo, en una landing page sencilla):

const { createClient } = require('@supabase/supabase-js'
const supabase = createClient('https://tu-proyecto.supabase.co', 'tu-anon-key')

const { data, error } = await supabase
  .from('clientes')
  .insert([{ nombre: 'María González', email: 'maria@ejemplo.com', estado: 'nuevo' }])

if (error) console.error(error)
else console.log('Cliente insertado:', data)

Errores frecuentes y cómo evitarlos

  • Olvidar establecer el email como único: esto genera duplicados. Siempre marca el campo email como «Unique» al crear la columna.
  • Usar políticas de seguridad demasiado permisivas en producción: revisa que las políticas RLS coincidan con tu nivel de riesgo. En etapas tempranas, acepta acceso abierto solo si el dato no es sensible.
  • No guardar las credenciales del proyecto: la contraseña de la base de datos no se muestra nuevamente. Guárdala en un administrador de contraseñas al crearla.

Próximos pasos

Una vez que tengas la tabla funcionando, considera:

  • Agregar autenticación de Supabase para que solo usuarios registrados puedan ver o modificar datos.
  • Crear vistas o funciones para reportes simples (por ejemplo, cantidad de clientes por estado).
  • Conectar tu tabla a una herramienta como Retool, Softr o una frontend sencilla en HTML/JavaScript para visualizar los datos.