Rails: actualizar los datos de la tabla de la database de las requestes API

Tengo un planificador en ejecución que hace una request de API y si la respuesta de request es exitosa. Se meetup_rsvp una nueva tabla meetup_rsvp que almacena :rsvp_count :group_id y :event_id .

Dado que el planificador llama a este método periódicamente (cada 6 horas, con fines de testing, yo uso cada 5 minutos). Quería hacer algún tipo de control de versión sin sobrescribir una tabla existente con el mismo overt_time external_id . En cambio, actualizará la tabla existente (si la request es válida) pero aún conservará una copy de los datos anteriores hasta "una llamada" en el pasado.

Estaba pensando al principio, crearía una nueva tabla meetup_rsvp y almacenaría los datos. Luego, las llamadas siguientes harían algo similar a:

  • si la llamada devuelve un valor válido y existe el id_externo pero solo 1 copy de la tabla
  • crear otra copy de la tabla, boost el contador en 1
  • si la llamada devuelve válido y existe external_id y hay 2 copys de las tablas
  • descarta el logging de tabla más antiguo y conserva la copy actual y la más nueva.
  • si la llamada no es válida y existe external_id y hay 2 copys, "rechace" la llamada actual y no guarde los datos

No estoy seguro de si este es el path a seguir, ya que significaría hacer un seguimiento de las tablas por un contador y dejar caer las tablas una vez que "expiren". O si hay una mejor manera de hacer versiones en Rails.