Sergey
22.09.2017
11:46:06
а uniq query теперь deprecated
Sergey
22.09.2017
11:47:17
Model.select(:updated_at, ...). ?
Sergey
22.09.2017
11:50:58
Sergey вроде бы помогло, но у меня в следующих subquery снова появляется order by и все ломается
а они используются и в друх местах, так что переписать их без order by нельзя
Google
Sergey
22.09.2017
11:51:37
неужели никак нельзя сделать uniq на этом этапе, чтобы дальше запросы шли как обычно?)
Vasiliy
22.09.2017
12:08:37
.distinct вместо юника на релейшене надо
Alexander
22.09.2017
12:11:20
дистинкт же диприкейтыд
Alex
22.09.2017
12:12:20
Alexander
22.09.2017
12:13:08
ааа, наоборот :) уник диприкейтыд
Vasiliy
22.09.2017
12:13:11
юник депрекейтед на релейшенах
(ток на них)
Alexander
22.09.2017
12:13:19
юз дистинкт инстед
Sergey
22.09.2017
12:14:59
@vasivas так я и пытаюсь)
был uniq - заменил на distinct и появляется эта ошибка
"SELECT DISTINCT, ORDER BY expressions must appear in select list"
а у меня в проекте order на order'e и reorder'ом погоняет
Vasiliy
22.09.2017
12:19:30
а местами не пробовал менять, дистинкт в начало? кек)
Google
Fedor
22.09.2017
12:20:14
ааа, это текст ошибки )))
Sergey
22.09.2017
12:20:39
Fedor не, это текст ошибки просто
Fedor
22.09.2017
12:21:29
order_by делает группировку и требует, что бы все что заселекчено было либо сгруппированно, либо посчитано аггрегатором
тоесть нельзя сделать группировку по дистинкту
Vasiliy
22.09.2017
12:23:38
тощно, надо гроуп бай, хавинг туда сюда
Sergey
22.09.2017
12:23:51
ну это вроде бы и так заселекчено,
вот полный запрос:
SELECT COUNT(DISTINCT count_column) FROM (SELECT DISTINCT "items"."id" AS count_column FROM "items" WHERE "items"."deleted_at" IS NULL AND (review = 'approved' AND expires_at > '2017-09-22 12:22:00 UTC') AND ("items"."area" >= 100.0 AND "items"."price" >= 500) ORDER BY bumped_at desc LIMIT $1 OFFSET $2) subquery_for_count
Fedor
22.09.2017
12:24:36
тут вообще группировки нет
это точно тот запрос?
Sergey
22.09.2017
12:24:55
да
а зачем мне его группировать, простите за глупый вопрос? я ведь просто хочу получить уникальные записи со всякими условиями и сделать order by
Fedor
22.09.2017
12:26:19
ну судя по ошибке SQL жалуется именно на группировку
вернее на то, что при группировке в селегте не сгруппированное поле
ааа, блин, что то я совсем ослеп
там не группировка а сортировка )
Sergey
22.09.2017
12:28:02
блин, я наверное понял
Fedor
22.09.2017
12:28:04
но суть та же, сортировка идет по тому, чего нет в селекте
Sergey
22.09.2017
12:29:26
получилось 2 селекта - один основной и второй как подзапрос
Первый появился из-за того что у меня в тесте есть строка
assert_equal 2, assigns(:items).count
и это делает первый запрос
а подзапрос это мой основной запрос
т.е. можно просто перегнать в тестах переменную в массив и ее замерить, чтобы не использовать бд
надо было сразу сказать, что я пытаюсь тест запустить ^^
Taras
22.09.2017
13:04:05
Приветствую, уважаемые посоветуйте годных книг по Ruby и Ruby on Rails
Google
Vasiliy
22.09.2017
13:05:13
вот было бы здорово если бы был сайт где можно написать запрос а он тебе список ответов найдёт
Taras
22.09.2017
13:05:35
Или лучшая документация это все таки веб
google.com
Alex
22.09.2017
13:07:27
Vasiliy
22.09.2017
13:08:59
но чтобы писать стартап где мы будем искать информацию?
как найдём годных книг?
Alex
22.09.2017
13:10:41
когда глянул на твою аватарку ))
Ruslan
22.09.2017
13:13:45
Taras https://www.amazon.com/Agile-Web-Development-Rails-5/dp/1680501712/ref=sr_1_1?ie=UTF8&qid=1506085994&sr=8-1&keywords=rails+5
Taras
22.09.2017
13:17:07
А я всего лишь хотел узнать, какую литературу читают программисты на Ruby, так как сам только-только на пути и единственная документация это веб и пара давних книг
Ruslan
22.09.2017
13:18:41
Vasiliy
22.09.2017
13:19:18
Alexey
22.09.2017
13:20:08
Taras
22.09.2017
13:23:08
Alex
22.09.2017
13:33:50
владичка
22.09.2017
13:36:22
Друзья, заделитесь конфигом для рубокопа, если не затруднит.
Google
Vasiliy
22.09.2017
13:37:14
я по дефолту юзаю
Alex
22.09.2017
13:37:51
владичка
22.09.2017
13:38:16
Так я и хочу взять чей-то за основу.
Vasiliy
22.09.2017
13:38:17
потому что тебе не нравится?
Alex
22.09.2017
13:38:46
Vasiliy
22.09.2017
13:39:14
чем они тупы?) что ты пишешь сложный код и он ругается?
Alex
22.09.2017
13:39:26
Потому что разбив метод с 11 строками на два я делаю класс запутаннее и сложнее
Vasiliy
22.09.2017
13:40:06
ну ты же читал как эти анализаторы работают?
владичка
22.09.2017
13:40:08
Cпасибо.
Alex
22.09.2017
13:40:40
Потому что разбив метод с 11 строками на два я делаю класс запутаннее и сложнее
Gleb
22.09.2017
13:40:50
Alex
22.09.2017
13:40:53
Что толку от анализатора если он усложняет мой код?
Vasiliy
22.09.2017
13:41:03
а нахуярив ифов и присваиваний всё так просто становится, верно?
Vladimir
22.09.2017
13:41:14
Alex
22.09.2017
13:41:15
Иначе начинаешь прыгать по классам и методам чтобы разобраться что происходит.
Vasiliy
22.09.2017
13:42:25
ведь прыгать по классам так сложно, а ебать голову с ифами и вложенными ифами оч просто
Google
Vladimir
22.09.2017
13:43:13
Ruslan
22.09.2017
13:43:33
Может покажи те 11 строк кода?
Vladimir
22.09.2017
13:44:11
Vasiliy
22.09.2017
13:44:13
один класс на 200 строк с одним методом
кто же останется, смотрите в новом сезоне - "РЕФАКТОРИНГ"
Fedor
22.09.2017
13:44:59
AR оконные функции не умеет, предлагаете ракидывать sql по методам и классам?
Vasiliy
22.09.2017
13:45:39
напиши билдер, ты че не пацан
5 карт солида не знаешь?
Nikita
22.09.2017
13:47:09
Vladimir
22.09.2017
13:47:53
Alex
22.09.2017
13:48:13
Nikita
22.09.2017
13:48:29
Я больше сиквела написал, чем весь чят, но я предпочитаю ром
https://github.com/rom-rb/rom-sql/blob/master/CHANGELOG.md
Fedor
22.09.2017
13:52:08
просто sql знают все, а rom не знает никто )