SQL2CRUD — Generador CRUD Multi-Stack
Conectá a tu base de datos y generá un CRUD completo en el stack que quieras: desde un deber de la universidad hasta un proyecto de producción con auth, tests y Docker.
SQL2CRUD refleja el esquema de tu base de datos (MySQL, PostgreSQL o SQLite) y genera el backend y/o frontend en 14 stacks distintos, en 3 modos según la madurez del proyecto.
Características
- 14 stacks — 10 backends + 4 frontends (ver tabla abajo).
- 3 modos — estudiantil, profesional y enterprise.
- 3 bases de datos — MySQL, PostgreSQL y SQLite.
- Reflejo automático del esquema con
prisma db pull (sin escribir schema a mano).
- CRUD completo por tabla: GET/POST/PUT/DELETE con paginación y búsqueda.
- Relaciones (FK) con
ReferenceInput/dropdowns en el frontend y relaciones bidireccionales en el schema.
- Respaldo automático de la generación previa en
backup/<fecha-hora>/ (no perdés tus cambios manuales).
- Validación de prerrequisitos (Node.js + conexión a la BD) con botones de descarga.
Stacks disponibles
Backends (10)
| Stack |
Descripción |
node-express |
Node.js + Express + Prisma |
python-fastapi |
Python + FastAPI + SQLAlchemy + Pydantic v2 |
go-stdlib |
Go con net/http (sin dependencias) |
go-gin |
Go + Gin |
hono-workers |
Hono sobre Cloudflare Workers (edge/serverless) |
nestjs |
NestJS (arquitectura modular) |
nextjs-api |
Next.js App Router (API routes) |
java-stdlib |
Java con HttpServer (sin framework) |
spring-boot |
Spring Boot (Spring Security) |
php-pdo |
PHP + PDO |
Frontends (4)
| Stack |
Descripción |
react-admin |
React Admin (panel CRUD listo para usar) |
html-htmx |
HTMX vanilla (server-rendered, sin frameworks JS) |
vue-elementplus |
Vue 3 + Element Plus |
sveltekit |
SvelteKit (fullstack) |
Modos de generación
| Modo |
Qué genera |
| Estudiantil |
CRUD simple, sin auth/tests/Docker. Ideal para aprender y entregar deberes. |
| Profesional |
+ JWT auth, validación, manejo de errores y .env. Para proyectos reales. |
| Enterprise |
+ RBAC (roles), tests, migrations, Dockerfile/compose, CI (GitHub Actions) y Swagger/OpenAPI. Para producción. |
Los 3 modos están implementados en todos los stacks. El modo enterprise de hono-workers usa wrangler.toml en lugar de Docker (porque corre en Cloudflare Workers).
Requisitos
- VS Code 1.85+.
- Node.js 18+.
- MySQL / PostgreSQL corriendo (para reflejar el esquema). SQLite no requiere servidor.
Instalación
Desde la tienda
- Abrí VS Code → pestaña Extensiones.
- Buscá SQL2CRUD.
- Instalá.
Desde VSIX (local)
code --install-extension sql2crud-0.2.0.vsix
O en VS Code → Extensiones → menú ... → Instalar desde VSIX....
Uso
- Abrí la paleta de comandos (
Ctrl+Shift+P).
- Ejecutá
SQL2CRUD: Generar CRUD desde Base de Datos.
- En el panel:
- Elegí el stack (backend + frontend opcional).
- Elegí el modo (estudiantil / profesional / enterprise).
- Completá la conexión (host, puerto, usuario, password, base de datos).
- Elegí la carpeta de salida.
- Clic en Generar CRUD.
SQL2CRUD refleja el esquema, genera backend/ y frontend/ en la carpeta elegida, y te ofrece abrirla.
Solo frontend: marcá "Solo frontend" y pegá un schema Prisma (o una URL OpenAPI) para generar el frontend sin conexión a BD.
Qué genera
Para cada tabla de tu base de datos:
- Backend: rutas REST CRUD (GET list/one, POST, PUT, DELETE) + modelo/schema + (según modo) auth, RBAC, tests, migrations, Docker, CI y Swagger.
- Frontend: pantalla de listado + formulario de alta/edición con los campos tipados (texto, número, FK como dropdown, etc.).
Convenciones automáticas
- Campos
email/correo/mail, telefono/celular, url/link se validan como tales.
- Campos FK generan dropdowns (
ReferenceInput) apuntando a la tabla referenciada.
- Campos
password se hashean (bcrypt en Node/Express) y no se exponen en los GET.
- Campos de tipo texto largo generan
<textarea>.
Solución de problemas
- "Cannot find module 'handlebars'" → reinstalá el VSIX (version 0.2.0+ incluye las dependencias bundleadas).
prisma db pull falla → verificá host/puerto/credenciales y que el servidor de BD acepte conexiones.
- El panel no abre → la extensión usa un WebView; si tu editor no lo soporta, usá VS Code estándar.
Alcance y seguridad
- SQL2CRUD solo lee el esquema de tu base de datos (no modifica datos).
- Las credenciales se usan únicamente para el
prisma db pull y no se guardan.
- Los archivos
.env generados contienen placeholders (cambia-este-secreto), nunca secretos reales.
Licencia
MIT. Ver LICENSE.
| |