piapia123
es

CREATE TABLE a código

Conversión

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Convierte una sentencia CREATE TABLE en cuatro cosas: datos JSON de ejemplo para la documentación de tu API, un formulario HTML con el control adecuado para cada columna, un modelo Yii2 (clase, rules y attributeLabels) o una colección Postman con las peticiones CRUD de esa tabla, lista para importar. Los tipos de columna se infieren: int y decimal se vuelven números, tinyint(1) un booleano, date y datetime tienen sus propios campos de entrada, un enum se vuelve un desplegable, y text o json un área de texto. Las etiquetas del formulario prefieren el COMMENT de la columna, así que las notas que escribiste al crear la tabla por fin sirven de algo. El analizador está escrito para entradas reales: lo que copias de mysqldump o de un cliente gráfico llega con comentarios condicionales, sentencias DROP TABLE y definiciones de índices y claves ajenas, y todo eso se salta en vez de romper el análisis.

Funciones

  • Cuatro salidas: datos JSON de ejemplo, un formulario HTML, un modelo ActiveRecord de Yii2 y una colección Postman
  • Tipos de columna inferidos: enteros y decimales como números, tinyint(1) como booleano, date / datetime / time, json, text, enum
  • Controles del formulario elegidos por tipo: texto, número, fecha, fecha y hora, hora, área de texto, desplegable para los enum y casilla para los booleanos
  • Las etiquetas del formulario prefieren el COMMENT de la columna y solo recurren al nombre de la columna si no lo hay
  • Las claves primarias autoincrementales se dejan fuera del formulario: un campo de ID solo hace pensar que hay que rellenarlo
  • Las columnas que admiten NULL no llevan required, y las de cadena llevan su maxlength
  • El rules() del modelo Yii cubre todas las columnas, porque Yii rechaza los atributos que no se le han declarado
  • Las comillas simples y las barras invertidas se escapan bien en el PHP generado
  • La colección Postman trae las peticiones List, Create, Get one, Update y Delete más una variable baseUrl
  • Pensado para entradas reales: comentarios condicionales, DROP TABLE, definiciones de índices y claves ajenas y comentarios de fin de línea se saltan
  • Un doble guion dentro de un COMMENT no se confunde con un comentario de línea de SQL
  • Todo se ejecuta localmente en el navegador; tu esquema nunca se sube

Cómo se usa

  1. Pega la sentencia CREATE TABLE
  2. Elige qué generar
  3. Copia el resultado: el JSON y la colección Postman están listos para usar; el formulario y el modelo necesitan tus propias rutas y tu espacio de nombres

Preguntas frecuentes

¿Qué dialectos se admiten?
MySQL es el objetivo principal (MariaDB incluido): las comillas invertidas, AUTO_INCREMENT, COMMENT, enum y tinyint(1) se tratan con la semántica de MySQL. La mayoría de las definiciones de PostgreSQL también dan sus columnas y tipos, aunque serial y ::text se tratan como tipos corrientes. Los nombres de SQL Server como [dbo].[orders] no se reconocen: recibes un claro «no se ha encontrado CREATE TABLE» en vez de una suposición sobre el nombre de la tabla.
¿Puede con más de una tabla a la vez?
No. Cuando el script contiene varias sentencias CREATE TABLE, solo se usa la primera y se ignoran las demás. Las cuatro salidas describen una sola tabla (los campos del formulario, el nombre de clase del modelo, las rutas de la colección), así que generarlas para cuatro tablas a la vez produciría una mezcla que nadie puede usar directamente.
¿Por qué falta en el formulario la clave primaria autoincremental?
Porque quien rellena un formulario no debería aportar ese valor. Un campo de ID solo hace pensar que hay que inventarse uno, cuando lo gestiona la base de datos o el backend. El modelo Yii, en cambio, mantiene id en rules(), igual que el generador gii propio de Yii, porque sí hay que validarlo al actualizar una fila existente.
¿Por qué los valores JSON son string, 0, 2026-01-01 y demás?
Porque esto es un esqueleto, no datos de prueba. Esos valores son obviamente marcadores de posición y nadie los tomará por registros reales, mientras que las formas que llevan (números como números, booleanos como booleanos, json como objeto) son la información de verdad: si la respuesta de ejemplo en la documentación de tu API tiene la estructura correcta. Para registros falsos realistas, usa la herramienta de datos de prueba.
¿Cómo se usa la colección Postman?
Guarda la salida como archivo .json e impórtala en Postman con File → Import. Las rutas se construyen con el nombre de la tabla (una tabla llamada product se vuelve /product) y la variable baseUrl vale http://localhost:3000 por defecto: cambia esa única variable tras importar y toda la colección apuntará a tu entorno. Los cuerpos de POST y PUT son el esqueleto JSON de la tabla, así que enviar uno muestra enseguida si tu backend acepta esos campos.
¿Se sube mi esquema?
No. El análisis y la generación ocurren enteramente en la memoria del navegador; la página no hace ninguna petición y funciona sin conexión. Las definiciones de tabla llevan convenciones de nombres y significado de negocio, y nada de eso sale de tu dispositivo.

Herramientas relacionadas