BrunoP.Blog

Cómo generar un diagrama ER a partir del SQL (sin instalar nada, sin cuenta, con auditoría de seguridad)

Heredé una base de datos sin documentación: schema crudo, sin diagrama, sin saber si había fallas de seguridad o problemas de privacidad. Insight lo resuelve en el navegador: pega el SQL, obtén el diagrama, la auditoría y el código de modelo listo.

Hace unos meses tomé un proyecto para mantener. El cliente me mandó un archivo .sql con la "base de datos del sistema" y un "fijate si está todo bien". Lo abrí: cuarenta y pico de tablas, miles de líneas de CREATE TABLE, cero documentación, cero diagrama. Para entender cómo usuarios se conectaba con pedidos y pagos, tenía que leerlo línea por línea. Y leyendo encontré el susto: CPF y números de tarjeta guardados en campos de texto común, una contraseña en un VARCHAR(32) (o sea, MD5 o texto plano). Esa base era una multa de privacidad esperando para ocurrir — y nadie lo había notado. Ese día dejé de leer esquemas a mano y construí Insight.

El problema: la base es la parte más importante y la menos visible del sistema

Casi todo bug serio de software nace en una estructura de datos mal pensada. Pero la base es justo la parte que no ves — es texto. Y cuando de verdad necesitás entender un esquema, chocás con cuatro paredes:

  • Ver el dibujo. Tenés el SQL pero no el plano. Las herramientas que dibujan diagramas o son pesadas (instalar el Workbench entero), o te piden subir tu esquema a un sitio de terceros — y el esquema es literalmente el plano de tu producto, información sensible — o lo traban todo detrás de registro y plan pago.
  • Saber si es seguro (y legal). Una contraseña en un campo demasiado corto para un hash fuerte, CPF/correo/teléfono tirados sin cuidado, un número de tarjeta o CVV guardado, una tabla sin clave primaria. Nada de esto aparece solo — te enterás cuando se vuelve incidente, fuga o multa.
  • Estimar el costo. Antes de contratar un servidor, ¿cuánto va a ocupar tu base de verdad? Sin eso, o pagás de más "por las dudas", o descubrís tarde que faltó espacio.
  • Escribir el código repetitivo. Después de entender la base, todavía hay que tipear a mano decenas de migraciones y modelos — trabajo mecánico que nadie disfruta.

El hilo común: necesitás conversar con una base que solo habla SQL crudo, y las herramientas para eso o son demasiado, o quieren tus datos, o quieren tu tarjeta.

La solución: Insight, gratis y sin subir nada

Insight hace una sola cosa, bien hecha: pegás el CREATE TABLE y te devuelve, al instante, el plano de tu base. Sin instalar nada, sin registro, gratis — y el detalle que para mí es innegociable: 100% en el navegador. El SQL que pegás no se envía a ningún servidor, no pasa por una API, no queda guardado en otro lado que tu propia máquina. Tiene sentido: el esquema describe cómo funciona tu producto por dentro; eso no debería salir de tu computadora solo para que veas un dibujo.

Lo que te entrega de una vez

  • Diagrama ER al instante. Cada tabla se vuelve un bloque visual y arrastrable. Las relaciones aparecen conectadas solas — tanto las claves foráneas declaradas (FOREIGN KEY ... REFERENCES) como la convención user_id → users que todos usan.
  • Auditoría de seguridad y LGPD. Un security score y una lista de riesgos en lenguaje claro: "esta contraseña entra en un campo demasiado corto para un hash fuerte", "este campo es un CPF y necesita cuidado de privacidad", "esto es un número de tarjeta, atención al PCI-DSS", "esta tabla no tiene clave primaria". Es la radiografía que me habría salvado en aquel proyecto.
  • Estimación de tamaño. Indicá cuántas filas debería tener cada tabla y estima el espacio — para dimensionar el servidor antes de contratarlo, no después.
  • Código listo. Un clic genera las migraciones en Laravel o los modelos en Sequelize, con los tipos mapeados y los campos nullable correctos. Salís del diagrama ya con el esqueleto del back-end en la mano.

Dibujar el plano de mi base

Preguntas frecuentes

¿Necesito instalar algo o crear cuenta? No. Es gratis, sin registro y corre en el navegador — abrís, pegás el CREATE TABLE y listo.
¿Mi SQL se envía a algún servidor? No. Todo el procesamiento ocurre en tu navegador; el esquema no sale de tu máquina. El único lugar donde queda algo guardado es el localStorage de tu propio navegador, para que no pierdas el trabajo.
¿Funciona con MySQL y PostgreSQL? Sí. El parser entiende el CREATE TABLE de ambos, con opciones de tabla (ENGINE, charset), tipos con tamaño y claves foráneas.
¿La auditoría de LGPD reemplaza a un especialista? No — es una primera radiografía automática que detecta los errores comunes (contraseña débil, dato personal expuesto, sin clave primaria). Los casos sensibles aún requieren análisis dedicado.

Recibe lo que construyo.

Nuevas herramientas, experimentos del Lab y artículos, cuando salen. Sin spam, cancela cuando quieras.