Tengo una aplicación Rails 2.3.5 con una tabla que contiene las columnas id y created_at. La tabla registra los cambios de estado en las entidades a lo largo del tiempo, así que de vez en cuando lo uso para buscar el estado de una entidad en un momento determinado, buscando cambios de estado que ocurrieron antes de la hora y seleccionando la más reciente de acuerdo con la marca de tiempo created_at. Para 10 de 1445 entidades, las marcas de tiempo de los cambios de estado están en un orden diferente al de los ID, y el estado del último cambio de estado difiere del estado que se almacena con la propia entidad, p.Rails created_at orden de la marca de tiempo no concuerda con la orden de identificación
id | created_at | entity_id | state |
------+---------------------+-----------+-------+
1151 | 2009-01-26 10:27:02 | 219 | 1 |
1152 | 2009-01-26 10:27:11 | 219 | 2 |
1153 | 2009-01-26 10:27:17 | 219 | 4 |
1154 | 2009-01-26 10:26:41 | 219 | 5 |
es probable que pueda evitar esto mediante el pedido de ID en lugar de marca de tiempo, pero no puedo pensar en una explicación de cómo pudo haber sucedido. La aplicación usa varias instancias de mongres, pero todas están en la misma máquina (Debian Lenny); ¿Me estoy perdiendo algo obvio? DB es Postgres.
Gracias por la respuesta; Todavía estoy confundido sobre cómo podría suceder esto. Me refiero a que la marca de tiempo para 1154 es anterior al resto por al menos 21 segundos, sin embargo, su identificación, y el estado actual de la entidad (5) sugieren que fue el último en la secuencia. – Leo
@Leo ¿Tienes una buena explicación para esto? '1154' realmente fue el último en el orden? –