У меня есть запрос postgres sql:
select * from stats where athlete_id = 5
Это вернет, как вы можете себе представить, всю статистику для каждого спортсмена с идентификатором 5
Пока все нормально.
Однако я только что заметил, что для athlete_id выше 110 он возвращает строки статистики в обратном порядке.
Так что для athlete_id = 110 столбец 'id' выглядит примерно так, к чему я привык:
2325
2401
2482
2537
2592
2647
...
и т.д.. Каждая строка таблицы статистики упорядочена по идентификатору.
Тогда, если вы выберете 111, получится так:
5652
5610
5569
5528
5487
5437
5387
5336
...
Как это вообще возможно? Все это делает запросы внутри интерфейса pgadmin. Здесь нет дополнительных предложений where, только тот, который я изложил, т. Е. WHERE athlete_id = 111
Что? Я делаю все виды изменений кода, но что на самом деле может вызвать это в pgaadmin / pgsql?
Что произошло между 110 и 111? Много-много рефакторинга и изменений кода внутри рельсов, но без реальных прямых манипуляций с SQL. Да, я понимаю, что ответ может быть там, но я не знаю, как посмотреть, так как это не в приложении rails - это чистый SQL через pgadmin, поэтому что-то должно быть сделано в postgres - мне нужно понять, что это может быть или я не могу отладить.
Есть идеи? В рельсах такие вещи как:
Athlete.stats.last.score возвращает «первый» ряд вместо «последнего», полностью испортив приложение, но только для спортсменов с идентификатором выше 110!
Совершенно смущен!