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

270
Vistas
¿Las promesas de secuela esperan que se complete el desencadenador de postgres antes de que se resuelvan?

Tengo una tabla de postgres de contact , con una columna contacted_date . Recientemente creé una tabla contact_date , que está destinada a almacenar cada fecha en que se contactó a un contacto.

Debido a que el código base con frecuencia se refiere a la tabla de contact para la contacted date más reciente, no he migrado todos los datos de esa tabla. En cambio, contact_date contiene cada fecha en que se contactó a un contacto determinado, y un disparador en esa tabla actualiza el contact con la fecha más reciente para cada contacto.

Si utilizo Sequelize para realizar un cambio en contact_date , ¿espera la promesa la finalización exitosa del activador? ¿O solo espera la finalización exitosa del cambio a contact_date ?

En la mayor parte de mi código, esto no es una gran preocupación: si persisto en una nueva fecha de contacto, entonces mi código ya tiene acceso a esa fecha y puedo usar esa fecha en otros cálculos si la necesito. Pero tengo dificultades con mis pruebas, y puede ser debido a una condición de carrera. En mis pruebas, estoy creando nuevos contactos con fechas de contacto, y algunas de mis pruebas están fallando, quizás porque la promesa se está resolviendo antes de que el disparador haya terminado de hacer su trabajo.

Actualización: esta publicación de SO indica que el disparador es parte de la misma transacción, lo que implica que la promesa de Sequelize no se resolvería hasta que se completara el disparador, pero si alguien lo sabe con certeza, me gustaría escuchar la disconformidad/confirmación.

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

0

Espero que esté utilizando transacciones para sus consultas, sin las cuales creo que esto no sería posible.

Además, una forma alternativa de lograr su objetivo sería usar ganchos (básicamente, un activador a nivel de aplicación) en la secuencia, en lugar de crear un activador a nivel de base de datos.
Dado que puede pasar el objeto de transacción a los ganchos, se garantiza que la operación realizada bajo los ganchos sea parte de la misma transacción que provocó la ejecución del gancho.

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