CLI
Ciclo de vida de schema y comandos operativos
Sección titulada «Ciclo de vida de schema y comandos operativos»El binario jsorm maneja inicialización, generación SQL, health checks y orquestación de migraciones.
jsorm helpInicialización
Sección titulada «Inicialización»Bootstrap de proyecto:
pnpm dlx @jsorm/core init# onpx -p @jsorm/core jsorm initjsorm init ahora:
- Detecta si
src/schema/existe — solo pregunta la ruta de schema si falta. - Genera archivos base de schema (solo si no existen).
- Recorre setup de bases/adaptadores en bucle (puedes agregar múltiples bases). Si
jsorm.config.tsya existe, las conexiones existentes se fusionan. - Escribe
jsorm.config.ts. - Genera helpers runtime (
db.tspor defecto,jsormdb.tsfallback cuando aplica). - Verifica bootstrap y readiness de workers antes de finalizar.
Usa --no-migrations para omitir scaffolding de migraciones (sin .migrations/, sin config de migraciones).
Modo config-first
Sección titulada «Modo config-first»Cuando jsorm.config.ts define defaults, no necesitas argumentos extra:
jsorm db:checkjsorm migrate:statusjsorm migratejsorm migrate:upjsorm migrate:downjsorm table:createjsorm table:create Userjsorm migrate:statementjsorm migrate:statement initUsersjsorm migrate:generateModo módulo-export (fallback legacy)
Sección titulada «Modo módulo-export (fallback legacy)»Si no usas config-first:
jsorm migrate ./dist/schema.js ormSourcejsorm migrate:up ./dist/schema.js ormSourcejsorm migrate:down ./dist/schema.js ormSourcejsorm migrate:status ./dist/schema.js ormSourcejsorm db:check ./dist/schema.js connectionSourcejsorm table:create ./dist/schema.js Userjsorm migrate:statement ./dist/schema.js initUsersjsorm migrate:generate ./dist/schema.js generateSourceCompila primero:
tsc && jsorm migrate:status ./dist/schema.js ormSourceSeguridad por entorno
Sección titulada «Seguridad por entorno»| Comando | Seguro en producción | Notas |
|---|---|---|
migrate | ✅ Sí | Solo aplica pendientes |
migrate:up | ✅ Sí | Un paso por vez |
migrate:status | ✅ Sí | Solo lectura |
db:check | ✅ Sí | Solo lectura |
migrate:down | ⚠️ Protegido | Requiere JSORM_ALLOW_UNSAFE_OPERATIONS=true |
db:fresh | ❌ Bloqueado | Solo desarrollo |
db:rollback | ❌ Bloqueado | Solo desarrollo |
migrate:generate
Sección titulada «migrate:generate»jsorm migrate:generateFlujo:
- Lee modelos desde config.
- Carga
.migrations/schema.json. - Construye diff AST.
- Clasifica cambios (
safe,review_required,dangerous). - Emite archivo de migración.
- Revisa antes de aplicar.
Engine y debug
Sección titulada «Engine y debug»Si falta engine, la CLI se detiene con un mensaje accionable:
[JSORM ENGINE MISSING] Run: pnpx jsorm initUsa ruta explícita en CI/contenedores:
JSORM_ENGINE_PATH=/ruta/jsorm-engine jsorm migrate:statusModo debug:
JSORM_DEBUG=1 jsorm migrate:statusBuenas prácticas
Sección titulada «Buenas prácticas»- Usa
pnpm dlx @jsorm/core initen proyectos nuevos. - Mantén
db:checken verificación de deploy. - Evita comandos destructivos en automatización de producción.
- Ejecuta
migrate:statusdurante deploys. - Prefiere arranque runtime explícito (
start*Jsorm()ocreateJsorm().init()) en código de app.