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

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

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 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!