@rubylang

Страница 1557 из 1684
Gregory Tereshko
02.07.2018
13:24:02
Или плейн sql тоже не робит

wi11son
02.07.2018
13:24:19
я бы еще вот это попробовал json_populate_record

а постгрес какой?

Gregory Tereshko
02.07.2018
13:24:56
9,6

Google
wi11son
02.07.2018
13:26:16
а какой экстеншн используешь для jsonb?

Gregory Tereshko
02.07.2018
13:27:36
Ничего дополнительно не сетапил. Из коробки все

wi11son
02.07.2018
13:28:41
попробуй ту же выборку но из консоли постгресса

Gregory Tereshko
02.07.2018
13:31:00
Походу все же jsonb надо установить ERROR: function jsonb_array_elements(json) does not exist

Смерть
02.07.2018
13:31:56
Gregory Tereshko
02.07.2018
13:33:11
А, ну вот select json_array_elements(form_data) from registration_requests; ERROR: cannot call json_array_elements on a non-array

Типо у меня ж там не массив, а жусон

Смерть
02.07.2018
13:44:56
SELECT id, (ARRAY(SELECT json_object_keys(form_data))) FROM registration_requests;

так должно работать

Gregory Tereshko
02.07.2018
13:50:38
Круто. Работает. Спасибо. А как это теперь более читаемо на рельсах написать? https://i.imgur.com/BjG3DAV.png А то чет так не получается

И как-то нужно сделать distinct по найденным записям

Сейчас вот так https://i.imgur.com/iR4g419.png

Alex
03.07.2018
07:48:30
Ребята, привет! На сайте есть возможность отправки сообщений. Шаблоны хранятся стандартно(скрин). Просят сделать возможность редактирования шаблона письма(прям в существующей админке чтоб можно было html писать). Подскажите пожалуйста, кто делал что-то подобное? Это ведь надо хранить шаблон в бд я так понимаю, вкрутить нормальный редактор. Подскажите что почитать может и насколько это трудозатратно?

Google
Alex
03.07.2018
07:48:34


Сергей
03.07.2018
07:56:25
Вопрос: во вьюхе есть форма с фильтрами и 1 кнопкой запуска поиска Search. Добавил к этой форме кнопки, меняющие фильтры и запускающие поиск, но теперь при нажатии enter в фильтре запускается не кнопка search, как раньше, а новая кнопка, меняющая фильтр. Как мне ограничить форму - вынести новые кнопки управления фильтрами и запуском процесса поиска в другую форму?

Felix
03.07.2018
08:05:06
да и в чем проблема иметь >1 кнопки в форме?

Сергей
03.07.2018
08:05:14
а в чем проблема взять и вынести кнопки в другую форму?
Ну я и вынес. Но теперь не запускается поиск при их нажатии. Они просто меняют фильтры на странице.

Zamira
03.07.2018
08:06:12
Сергей
03.07.2018
08:07:09
да и в чем проблема иметь >1 кнопки в форме?
При вводе фильтра в полях input и нажатии Enter запускается первая в форме кнопка, и соответственно меняет фильтр, что не нужно делать.

Сергей
03.07.2018
08:13:01
<button type="button"
А как тогда запускать процесс поиска при нажатии новых кнопок, если будет button вместо submit?

Сергей
03.07.2018
08:21:37
Dmitriy
03.07.2018
08:41:45
всем привет! нид хелп с запросом скл https://gist.github.com/dimaskin/39d7e2473ce49def318be1ed541154a7#file-ms_sql

сделал с помощью временных таблиц, но так по условию нельзя (как и курсоры использовать)

Sergii
03.07.2018
10:44:04
сгрупировать по клиентид, min purchase_month

ну и вопрос с годом встанет потом )

SELECT client_id, min(purchase_month) as purchase_month FROM orders1 group by client_id;

ojab
03.07.2018
11:35:31
не?

а, там дублирование ещё убрать надо

Google
ojab
03.07.2018
11:43:33
что только люди не делают, лишь бы postgresq не использовать

Dmitriy
03.07.2018
11:43:57
не?
погуглю, что за stuff, но не .. для 5 месяца все новые (т.к. нет 4) -> (1,2 | 5), для 6 месяца новый только 3 -> (3 | 6), т.к. 1 ид был в 5мес, для 7 новые 4 и 5 -> (4,5 | 7), т.к. 1 был в 5 и 6, 2 в 5 мес, для 8 -> 6, т.к. нигде не было

ojab
03.07.2018
11:49:19
http://sqlfiddle.com/#!18/0b363/30

ужасы какие

Dmitriy
03.07.2018
11:55:40
так я и сам сделал :) без курсоров и темп таблиц надо

Oleg
03.07.2018
12:04:46
Привет Такая задача - нужно парсить html и доставать теги h, важно сохранять структуру, то есть первым вхождением может быть h3 а не h1(как должно быть..заморочки в seo) Собственно вопрос - можно ли с помощью nokogiri передать в search метод регулярку? Может кто-то сталкивался с таким, спасибо )

Aleksey
03.07.2018
12:16:36
гугли CSS / Xpath селекторы

mr_makss
03.07.2018
12:18:01
xpath или css вэй

Oleg
03.07.2018
12:19:36
Ищу что-то типа - doc.xpath(/h[1-6]+/)

Иван
03.07.2018
12:20:48
так я и сам сделал :) без курсоров и темп таблиц надо
а вариант который выще предложили с группировкой по client_id и min(purchase_month) чем не подходит?

Sunny
03.07.2018
12:22:13
mr_makss
03.07.2018
12:23:00
@*

Denis
03.07.2018
12:35:00


Ilya
03.07.2018
12:36:06
https://activeadmin.info/8-custom-actions.html

Denis
03.07.2018
12:37:15
Спасибо

Богдан
03.07.2018
12:45:49
Господа, а не подскажите, в миграции рельсы, можно индекс поменять, или нужно удалять старый и создаваьть новый?

Roman
03.07.2018
12:48:15
Как понять поменять индекс?

Google
Богдан
03.07.2018
12:53:20
сейчас, вот такой индекс t.index %i(pair_id close_time), unique: true а нужен такой t.index %i(pair_id ), unique: true

самый верный способ тот, что ты описал
сенкс, а то недавно столенулся с тем что change_column не может rollback

Roman
03.07.2018
12:54:43
Я думаю для начала стоит понять, как работают индексы

Это два разных индекса у тебя

Богдан
03.07.2018
12:56:13
Я думаю для начала стоит понять, как работают индексы
ну я понимаю что это 2 разных индекса, поэтому мне нужно один поменять на другой?

Roman
03.07.2018
12:56:31
Ну ненужный удалить, нужный добавить

Ты можешь добавить и тот и другой, если есть такой кейс

Admin
ERROR: S client not available

Roman
03.07.2018
12:58:40
Почитай про explain в постгресе

Она поможет понять, какие индексы нужны

Богдан
03.07.2018
13:01:39
Почитай про explain в постгресе
сенкс, я юзаю INSERT INTO ... ON CONFLICT ( уникальний индекс)

очень удобная штука, что бы инсертить или обновлять записи при наличии

жаль, что а AR этого нету, нужно все конструкции вручную прописывать

Oleg
03.07.2018
13:47:30
По поводу отображения структуры html Получилось вот так: doc = Nokogiri::HTML(html) res = Hash.new doc.traverse do |node| if node.name =~ /^h[1-6]+$/ res[node.name+' - '+node.id.to_s] = node.text end end

Антон
03.07.2018
13:49:55
жаль, что а AR этого нету, нужно все конструкции вручную прописывать
не жаль 1) не нужно размазывать логику 2) при неконсистентных состояниях не субд должна принимать решение

Богдан
03.07.2018
13:51:45
не жаль 1) не нужно размазывать логику 2) при неконсистентных состояниях не субд должна принимать решение
та как бы наоборот, специалисты говорят, что ON CONFLICT намного надержней, чем сначала SELECT проверять наличие и в зависимости от этого делать INSERT или UPDATE

вот даже на тостере когда-то спрашивал

https://toster.ru/q/501050

Google
Антон
03.07.2018
13:59:34
ну и на тостере специалист по бд, а не по бизнес логике

Богдан
03.07.2018
14:34:37
ну и на тостере специалист по бд, а не по бизнес логике
хм ... а бизнес логика что меняется, от того использую ли я ON CONFILCT или вариант с предварительным SELECT ? Как бы для бизнес-логики важен результат, а не реализация )

Антон
03.07.2018
14:35:40
с другой стороны, бизнес логике может быть не офигенно, если в базе уже есть экземпляр, но системе об этом не известно

но если у нас on conflict то да, окей, нет ничего страшного, процессы не поплыли (sarcasm)

Богдан
03.07.2018
14:37:52
а почему не известно, я например вот так свои запросы делаю https://pastebin.com/zt08bUVk

Антон
03.07.2018
14:39:38
и это совсем не рейлс вей

Богдан
03.07.2018
14:41:11
ну зато в одном CTE я могу сразу вставить записи, потом по тех записях которые я вставил могу в других запросах тут же использовать, думаю что там более оптимизировано и код выходит более читабельней

Антон
03.07.2018
14:41:55
там где? что оптимизированно? что читабельней?

Богдан
03.07.2018
14:45:08
там сделано одним CTE, тоесть одним обращением к базе, а не 4 запроса, как в примере, потом база я оперирую только данными которые реально менялись в рамках запроса, например сделал в ставку данных, потом на основе этой вставки нужно в дочерней таблице тоже сделать вставку - и тут нет проблем

Антон
03.07.2018
14:45:48
а эта оптимизация не нужна в общем случае

Богдан
03.07.2018
14:46:40
вот к примеру массовая вставка в главную таблицу и подчиненную как сделать? Заранее же я parent.id не знаю что бы можно было сделать запрос на вставить запрос в подчиенную таблицу

тут приходилось сначала делать массовую вставку у главную таблицу, получать id, и потом уже в цыкле формировать запрос на всавку в подчиненную

Антон
03.07.2018
14:47:35
для разовых случаев, окей, эта оптимизация _может_ оказаться полезной

Богдан
03.07.2018
14:48:32
https://toster.ru/q/484621

Антон
03.07.2018
14:49:11
и?

Богдан
03.07.2018
14:49:46
ну я сразу стараюсь писать оптимизированный код, AR уже безумно отстал от Postgres, там банальные вещи уже не сделать, типа DISTINCT ON

Антон
03.07.2018
14:50:26
а вы не думали, что тем самым повышаете стоимость владения системой?

Богдан
03.07.2018
14:50:48
почему?

Антон
03.07.2018
14:51:13
потомо что кто-то после вас должен знать SQL на вашем уровне

и как ваши запросы тестировать я тоже плохо представляю

Богдан
03.07.2018
14:52:07
ну так, может вообще перейти на процедурное программирование, потому что тот что после меня может не уметь работать с классами )))

Страница 1557 из 1684