Rebase frente a Supabase
Los dos ponen la seguridad a nivel de fila en Postgres. La diferencia es dónde se escribe la política: en Supabase vive en la base de datos y la mantienes sincronizada con tu código a mano; en Rebase es un campo de la colección, compilado a una política, y el mismo archivo genera la API, el SDK tipado y el panel de administración.
RLS sin el disparo en el pie
Dónde duele
Los dos proyectos ponen la autorización en la seguridad a nivel de fila de Postgres, y Supabase Studio tiene un editor de políticas con un generador y plantillas detrás. La diferencia es dónde vive la política después: en Supabase es un objeto de base de datos que mantienes al día con tu código a mano, y en Rebase es un campo de la colección que compila a una política — así que la política, la API y el panel se mueven juntos, y la deriva entre código y base de datos es algo que el editor reporta.
Qué hace Rebase en su lugar
Rebase escribe la política donde está la colección. En vez de un objeto SQL aparte, declaras la regla en TypeScript y el compilador la convierte en una política real de Postgres.
- Un editor visual de políticas que vuelve a leer la base de datos y reporta la deriva.
- El contexto de la regla es TypeScript, no un JOIN escrito a mano.
- Por colección, por campo y por rol, en el mismo archivo en el que vive la colección.
Autoalojamiento, simétrico
Dónde duele
Autoalojar Supabase es un camino soportado, con un fichero Docker Compose publicado, y muchos equipos lo hacen. Lo que asumes son varios servicios en varios lenguajes — PostgREST en Haskell, Auth en Go, Realtime en Elixir, Edge Functions sobre Deno — cada uno con su propio ritmo de versiones. Rebase es un proceso Node y un Postgres, que es algo más pequeño de mantener actualizado, no algo categóricamente distinto.
Qué hace Rebase en su lugar
Rebase es un único backend Node.js sobre Hono y Drizzle ORM estándar.
- Un solo servicio que desplegar: Docker, Railway, Fly o hierro desnudo.
- TypeScript de principio a fin — el lenguaje que tu equipo ya lee.
- Sin binarios opacos entre tú y la base de datos.
El esquema como código
Dónde duele
Con Supabase, la base de datos es el estado. Local, staging y producción se separan salvo que alguien las mantenga a la par, y versionar RPCs, triggers y RLS como ficheros SQL en crudo exige una disciplina que nadie tiene un viernes.
Qué hace Rebase en su lugar
En Rebase la definición del esquema es un fichero TypeScript independiente — config/collections/products.ts — y Git es la fuente de la verdad.
- Rebase Studio usa manipulación del AST para inyectar campos en tu código de forma segura.
- Las migraciones de Drizzle se generan y se aplican desde la misma definición.
- El código es la fuente de la verdad, así que los entornos coinciden por construcción.
No cambies
Cuándo quedarte en Supabase
Cuando quieres el mayor ecosistema de esta categoría, la mayor cantidad de tutoriales de terceros o funciones edge ejecutándose en la CDN. Supabase es el producto más maduro y con una comunidad mucho mayor, y si nadie fuera de tu equipo de ingeniería va a abrir nunca el back office, casi todo lo que añade Rebase es peso que no vas a usar.
Rebase y Supabase, respondido
¿Puedo usar Rebase con mi base de datos de Supabase actual?
Sí. Rebase se conecta a cualquier base de datos PostgreSQL, incluida la que hay detrás de un proyecto de Supabase, y lee las tablas que ya están ahí en vez de imponer una forma propia. Lo que no viaja es la parte de Supabase que no es Postgres: su esquema de auth, sus edge functions y sus buckets de almacenamiento son implementaciones suyas, así que eso lo estarías sustituyendo, no importando.
Si ambos son Postgres con seguridad a nivel de fila, ¿qué cambia de verdad?
De dónde vienen las políticas. En Supabase escribes la RLS como SQL en un panel, y una política que devuelve cero filas en silencio es una sesión de depuración sin traza de pila. En Rebase la política forma parte de la definición de la colección en TypeScript y se compila a una política real de Postgres cuando migras. La aplicación es idéntica — es Postgres en ambos casos — pero la regla vive en tu repositorio, pasa por revisión de código y aparece en un diff.
¿No es ya el panel de Supabase un panel de administración?
Es un editor de tablas, que es otro producto. Está hecho para quien desarrolla: filas en crudo, UUIDs de claves foráneas, sin flujo de trabajo, sin más roles que los de la base de datos. Rebase genera una interfaz para las personas que llevan el negocio — formularios, medios, permisos, tableros kanban y tus propios componentes React allí donde lo generado no encaja — desde las mismas definiciones de colección que produjeron la API.
¿Cuándo es Supabase la mejor opción?
Cuando quieres el mayor ecosistema de la categoría, la mayor cantidad de tutoriales de terceros o funciones edge en la CDN. Supabase es el producto más maduro y con mucha más comunidad, y si nadie fuera de tu equipo de ingeniería va a abrir nunca el back office, casi todo lo que añade Rebase es peso que no vas a usar.
¿Cuánta reescritura supone mover una aplicación de Supabase a Rebase?
La base de datos es la parte que no cambia — es Postgres en ambos lados. Lo que cambia es el cliente: el cliente JS de Supabase y el SDK tipado de Rebase son APIs distintas, por lo que hay que reescribir las llamadas, y cualquier política que hayas definido en el panel debe expresarse como reglas de acceso de una colección. En la práctica, es una migración de la capa de cliente, no de datos.
¿Tengo que autoalojar Rebase?
No. Si lo autoalojas, son tuyos los datos, el código y la máquina en la que corre — es el modo por defecto y está plenamente soportado. O despliega el mismo proyecto en Rebase Cloud, que hoy está en producción con clientes reales y se abre por tandas mientras está en beta privada, con precio por recurso y no por usuario. Tu código es idéntico en ambos casos; el hosting es un destino de despliegue, no una bifurcación.
No te fíes de nuestra palabra.
La comparación que importa es la que ejecutas tú. Apunta Rebase a una base de datos Postgres que ya tengas y mira cómo aguanta al lado de Supabase.