Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

751
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!