Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

293
Vistas
Error de validación: no se permite el uso de métodos de instancia del administrador de entidades globales para acciones específicas del contexto

Usando TypeORM y obteniendo este error:

 ValidationError: Using global EntityManager instance methods for context specific actions is disallowed. If you need to work with the global instance's identity map, use `allowGlobalContext` configuration option or `fork()` instead

El código al que corresponde está a continuación:

 import { MikroORM } from "@mikro-orm/core"; import { __prod__ } from "./constants"; import { Post } from "./entities/Post"; import mikroConfig from "./mikro-orm.config"; const main = async () => { const orm = await MikroORM.init(mikroConfig); const post = orm.em.create(Post, { title: "my first post", }); await orm.em.persistAndFlush(post); await orm.em.nativeInsert(Post, { title: "my first post 2" }); }; main().catch((error) => { console.error(error); });

No estoy seguro de dónde necesito usar el método .fork()

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Enfrenté un problema similar hoy cuando actualicé la configuración de mikrorm de v4 a v5. Después de hacer un poco de RnD, encontré que los siguientes cambios me ayudaron a resolver el error mencionado.

  1. En el objeto de configuración que se pasa a la llamada MikroORM.init , pase la siguiente propiedad

allowGlobalContext: true

  1. No los use em para create entrada en la base de datos. En su lugar, utilice el siguiente código
 const post = orm.em.fork({}).create(Post, { title: "my first post", });

Los cambios anteriores deberían ayudarlo a corregir el error.

También soy muy nuevo en MikroORM. entonces, no estoy seguro de por qué aparece este error. Pero mi suposición sin educación es que están restringiendo el acceso a cualquier cambio en la instancia global de EntityManager em .

over 4 years ago · Santiago Trujillo Denunciar

0

Después de investigar un poco, encontré esta solución:

  1. hilado instalar dotenv

  2. crear un archivo .env en la raíz del proyecto

  3. En su archivo .env, pegue lo siguiente:

MIKRO_ORM_ALLOW_GLOBAL_CONTEXT = true

¡Problema resuelto!

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda