Herramienta de Inferencia de Esquema
Cada integración nueva empieza igual: una API devuelve un objeto JSON y necesitas un modelo donde guardarlo. Escribir 20 campos a mano es tedioso y propenso a errores. Esta herramienta analiza un objeto JSON de ejemplo, elige un tipo de columna para cada clave y genera un esquema listo para pegar en el formato que prefieras: SQL CREATE TABLE, esquema de Mongoose o definición de modelo de Sequelize.
Cómo inferir un esquema a partir de JSON
-
1
Pega un objeto de ejemplo
Introduce un objeto JSON, o un array de objetos (se lee el primer objeto del array). Usa un registro completo con todos los campos rellenos para que cada columna reciba un tipo.
-
2
Elige el formato de salida
SQL CREATE TABLE (estilo Postgres / MySQL / SQLite), Mongoose para apps de Node.js con MongoDB o Sequelize para apps relacionales de Node.js.
-
3
Nombra la tabla o el modelo
Define el nombre de la tabla en la salida SQL, o el nombre del esquema o modelo en la salida de Mongoose y Sequelize.
-
4
Copia el esquema generado
Pégalo directamente en una migración o en un archivo de modelo como punto de partida.
Cómo se infieren los tipos
La inferencia es una estimación. La herramienta lee los valores de un objeto de ejemplo y elige un tipo de columna para cada clave a partir del valor que ve. No compara registros ni deduce qué campos son opcionales, así que dale un objeto completo y representativo.
Correspondencia de tipos
| Valor JSON | Tipo SQL | Tipo Mongoose | Tipo Sequelize |
|---|---|---|---|
42 (entero) |
INTEGER | Number | DataTypes.INTEGER |
3.14 (decimal) |
DECIMAL(10,2) | Number | DataTypes.FLOAT |
"hola" (cadena corta) |
VARCHAR(255) | String | DataTypes.STRING |
| cadena de más de 255 caracteres | TEXT | String | DataTypes.STRING |
"2026-04-18T10:00:00Z" |
TIMESTAMP | Date | DataTypes.DATE |
"2026-04-18" |
DATE | Date | DataTypes.DATEONLY |
true / false |
BOOLEAN | Boolean | DataTypes.BOOLEAN |
null |
TEXT | String | DataTypes.STRING |
[1, 2, 3] (array) |
JSON | Object | DataTypes.JSON |
{ "nested": ... } (objeto) |
JSON | Object | DataTypes.JSON |
Qué añade la salida SQL
El CREATE TABLE de SQL empieza siempre con una clave primaria autoincremental:
id INTEGER PRIMARY KEY AUTOINCREMENT,
Las salidas de Mongoose y Sequelize no añaden un campo id, porque ambas librerías lo crean por ti.
Valores por defecto y límites a tener en cuenta
- Se lee un solo objeto. Si pegas un array, solo se inspecciona el primer elemento, así que sus campos definen todo el esquema.
- Una clave ausente es una columna que no existe. Los campos que no están en el objeto de ejemplo simplemente no aparecen en la salida.
- Los objetos y arrays anidados se convierten en una única columna JSON. La herramienta no los expande en subtablas, subesquemas ni claves foráneas.
- No se generan restricciones. Las columnas se emiten sin
NOT NULL, unicidad ni índices, así que todas admiten nulos hasta que las ajustes.
Consejos para un resultado más limpio
- Usa un registro totalmente relleno. Un campo que sea
nullen tu ejemplo se tipa como texto/cadena, que rara vez es lo que quieres. - Renombra las palabras reservadas tras la generación. Campos como
type,orderousernecesitarán comillas en SQL. - Trata la salida como un andamiaje. Ajusta las longitudes de VARCHAR y la precisión de DECIMAL, añade índices, marca columnas como
NOT NULLy elige claves reales antes de publicar.
Preguntas frecuentes
Un objeto o array anidado se asigna a una única columna JSON (JSON en SQL y Sequelize, un campo de tipo Object en Mongoose). La herramienta no expande las estructuras anidadas en subtablas ni subesquemas, así que tú mismo las aplanas o normalizas si lo necesitas.
No. Si pegas un array de objetos, solo se inspecciona el primer objeto y sus claves definen el esquema. Asegúrate de que ese primer registro tenga todos los campos que te importan, con un valor real en cada uno.
No. Cada columna se emite solo con un tipo, de modo que la salida no tiene claves foráneas, restricciones de unicidad, índices ni cláusulas NOT NULL. Añádelos a mano, porque codifican una intención que la herramienta no puede recuperar a partir de una muestra.
Elige SQL CREATE TABLE para una migración de base de datos relacional, Mongoose Schema para una app de Node.js sobre MongoDB, o Sequelize Model para una app de Node.js sobre una base de datos relacional a través del ORM Sequelize.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Generador de Formularios CSS
Genera el CSS de un formulario completo con estilo: una cuadrícula de formulario, etiquetas, entradas, áreas de texto, selectores y estados de foco claros. Elige el color de acento, el radio de las esquinas y la separación, y copia el código.
Generador de EditorConfig
Crea un .editorconfig con tus reglas de indentación, fin de línea y charset, y añade la sección correcta para cada lenguaje de tu repositorio: Python, Go, YAML, Makefile y más.
Herramienta disponible en otros idiomas
- Outil d'inférence de schéma [FR]
- Alat Inferensi Skema [ID]
- Schemainferensverktyg [SV]
- أداة استنتاج المخطط [AR]
- スキーマ推論ツール [JA]
- 스키마 추론 도구 [KO]
- Narzędzie do wnioskowania schematu [PL]
- Schema-inferentie-tool [NL]
- Công cụ suy luận lược đồ [VI]
- เครื่องมืออนุมาน Schema [TH]
- Ferramenta de Inferência de Esquema [PT]
- Schema-Inferenz-Tool [DE]
- Инструмент вывода схемы [RU]
- Şema Çıkarım Aracı [TR]
- 模式推断工具 [ZH]
- Schema Inference Tool [EN]
- Strumento di Inferenza Schema [IT]