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.
- Haz clic en «New table
– Nómbrala «clientes
– Activa la opción «Enable Row Level Security (RLS)» por seguridad (la configuraremos después). - Agrega las siguientes columnas:
id: tipoUUID, valor predeterminadouuid_generate_v4(), clave primaria.nombre: tipoText, no nulo.email: tipoText, único (para evitar duplicados).estado: tipoText, con valores posibles como «nuevo», «contactado», «interesado», «no interesado» (usaremos restricciones después).fecha_creado: tipoTimestamp with time zone, valor predeterminadonow().
- 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.
- 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). - Repite el proceso para
SELECTsi quieres leer los datos desde un frontend público (solo recomendado en etapas muy tempranas de validación). - Guarda cada política.
Advertencia: Usar
trueen 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.
