Después de actualizar recientemente a la versión 2.6.0.beta3, algunas respuestas en varios hilos aparecen en el orden incorrecto. Las marcas de tiempo se muestran correctamente, pero las respuestas afectadas siempre aparecen al final del hilo.
He intentado actualizar nuevamente y ejecutar rake posts:reorder_posts en los temas afectados, pero esto no ha tenido ningún efecto. ¿Hay algo más que pueda hacer para que se reordenen correctamente? ¿O se trata de un error en Discourse? Los mensajes se muestran igual para todos los usuarios.
Un ejemplo de uno de los temas, esto es el final del hilo:
Al ejecutar la consulta desde posts:reorder_posts, se observa que el sort_order de varios posts es extraño y parece que la tarea rake debería actualizarlos, pero no lo hace.
Al intentar recrear manualmente la tarea de rake, ejecuté:
WITH ordered_posts AS (
SELECT
id,
ROW_NUMBER() OVER (
PARTITION BY
topic_id
ORDER BY
created_at,
post_number
) AS new_post_number
FROM
posts
/*where*/
)
SELECT
p.post_number,
p.sort_order,
o.new_post_number
FROM
posts AS p, ordered_posts AS o
WHERE
p.id = o.id
Esto muestra por qué la tarea de rake no hace nada: piensa que no hay nada que hacer… La tarea de rake tiene una condición where adicional que compara post_number con new_post_number, y no con sort_order.
Ahora he ejecutado manualmente en la base de datos:
WITH ordered_posts AS (
SELECT
id,
ROW_NUMBER() OVER (
PARTITION BY
topic_id
ORDER BY
created_at,
post_number
) AS new_post_number
FROM
posts
/*where*/
)
UPDATE
posts AS p
SET
sort_order = o.new_post_number
FROM
ordered_posts AS o
WHERE
p.id = o.id AND
p.sort_order <> o.new_post_number
y ahora los mensajes aparecen en el orden correcto.
Tampoco lo entiendo; no encontré ninguna razón al revisar el código. Parece que algo modifica el orden de clasificación, pero no logro ver qué.
Pensé que se habían desordenado cuando ejecuté una actualización, ya que los mensajes que aparecían fuera de orden eran generalmente mucho más antiguos y antes se mostraban en su lugar esperado. Cuando ejecuté el SQL anterior, todo parecía estar bien, pero la semana pasada, un par de publicaciones completamente nuevas también han aparecido fuera de orden. Creo que las publicaciones afectadas siempre son respuestas a otra publicación. Por ejemplo:
Tengo el mismo problema. Anteriormente tuve errores 502 al mover publicaciones debido a temas largos, no estoy seguro si eso tiene algo que ver. También tengo instalado el complemento de preguntas y respuestas, pero aún veo publicaciones que aparecen al final de los temas después de desactivarlo.
Muy probablemente, esto no es realmente un complemento compatible u oficial; sort_order se utiliza de manera inconsistente en el núcleo de Discourse y estamos considerando eliminar esta columna.
Moviéndolo a Support, ya que lo veo como un error en un complemento no oficial.
@angus ¿Podrías echar un vistazo a este problema? Instalé este plugin y las respuestas comenzaron a aparecer desordenadas en todo el sitio. Acabo de desinstalar el plugin y las respuestas siguen apareciendo desordenadas.
He ejecutado una prueba en una sola publicación para ver si el siguiente comando corrige las respuestas desordenadas en una sola publicación (después de eliminar el plugin de preguntas y respuestas).
rake posts:reorder_posts[1896]
Desafortunadamente, las publicaciones siguen apareciendo desordenadas.
¡Hola, lamentamos que hayas experimentado este problema. Por favor, publica cualquier actualización al respecto en Question Answer Plugin. @mbcahyono y/o yo responderemos en breve. Esto no es una pregunta general de soporte de Discourse.