
Hard
28.06.2017
20:59:47
Там вроде самому прописывать

Nikita
28.06.2017
20:59:52
прочти раздел "Настройка мерчанта"
там же все ок написано
@hardneal там же 1 кнопкой генерируется секретный ключ, не?

Google

Hard
28.06.2017
21:03:59
там нету кнопки генерации

Nikita
28.06.2017
21:05:06
ты ввести новый ключ можешь?

Hard
28.06.2017
21:41:16
<form method="post" action="https://payeer.com/merchant/">
<input type="hidden" name="m_shop" value="<%= ENV['ID_MERCHANT'] %>">
<input type="hidden" name="m_orderid" value="<%= @payeer.id %>">
<input type="hidden" name="m_amount" value="<%= @payeer.total %>">
<input type="hidden" name="m_curr" value="<%= @payeer.currency %>">
<input type="hidden" name="m_desc" value="<%= @payeer.description %>">
<input type="hidden" name="m_sign" value="<%= ENV['SIGN'] %>">
<input type="hidden" name="form[ps]" value="<%= ENV['FORPS'] %>">
<input type="hidden" name="form[curr[2609]]" value="<%= @payeer.currency %>">
<input type="submit" name="m_process" value="send" />
</form>

Svyatoslav
29.06.2017
09:09:14
Привет, у меня встал вопрос по апдейтам сервера, гемов и всего такого. Как часто апдейтить гемы, -nixы? Как при этом все не сломать?

ojab
29.06.2017
09:11:35
гемы можешь апдейтить как угодно, в Gemfile.lock прописаны версии с которыми проект будет запускаться и с которыми ты его разрабатываешь/тестируешь
rhel/debian stable тоже можно обновлять как угодно часто, они не ломают обратную совместимость в рамках одной версии
(мажорной версии)

Svyatoslav
29.06.2017
09:15:18
@ojab спасибо

v
29.06.2017
09:21:32
разве что какие обновления безопасности выйдут

Svyatoslav
29.06.2017
09:29:27

v
29.06.2017
09:30:54
наверняка есть, кеке

Google

Svyatoslav
29.06.2017
09:33:15

v
29.06.2017
09:50:26
http://rubyjobs.ru/vacancies/4887 ого. Есть люди, которые Dart используют

Nikita
29.06.2017
09:50:26
о спасибо, пригодится
@vskopuk что такое дарт в 2 словах?

v
29.06.2017
09:51:11
язык, который должен был заменить javascript в браузере
8 слов

Nikita
29.06.2017
09:51:22
но он не смог?

Artur
29.06.2017
09:51:28
никто не смок

Nikita
29.06.2017
09:51:44
ну ничего...

ojab
29.06.2017
10:03:53
вероятность проблем в случае необходимеости апдейта становится сильно больше

focusshifter
29.06.2017
10:14:13

ojab
29.06.2017
10:14:35
ага

Rustam
29.06.2017
11:18:01
привет всем, подскажите как сменить кадеровку у таблици mysql

Aleksey
29.06.2017
11:20:32

Andiskiy
29.06.2017
11:26:27
Подскажите пожалуйста, почему в постгресс нельзя группировать по одному столбцу ?

Fedor
29.06.2017
11:26:41
почему нельзя?

Rustam
29.06.2017
11:27:26
?

Andiskiy
29.06.2017
11:27:53
Я юзал мускул, нужно перейти на хероку, следовательно перейти на постгресс. Везде где группировка выдаёт ошибку

Azamat
29.06.2017
11:28:21

Google

Andiskiy
29.06.2017
11:30:16
запрос User.all.group(:first_name)
ошибка PG::Error: ERROR: column "users.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT "users".* FROM "users" GROUP BY "users"."first_name"...
: SELECT "users".* FROM "users" GROUP BY "users"."first_name" ORDER BY users.last_name, users.first_name,
users.middle_name, users.nickname
ActiveRecord::StatementInvalid: PG::Error: ERROR: column "users.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: SELECT "users".* FROM "users" GROUP BY "users"."first_name"...
^
: SELECT "users".* FROM "users" GROUP BY "users"."first_name" ORDER BY users.last_name, users.first_name,
users.middle_name, users.nickname

Fedor
29.06.2017
11:34:06
Это не проблема postgresa это проблема ActiveRecord, он пытается инстанциировать модельки и не может сделать этого без id

Andiskiy
29.06.2017
11:34:48
я нашел это

Fedor
29.06.2017
11:36:31
"либо столбец не участвует в выборке, либо мы обязаны группировать по нему"
тоесть ты можешь группировать по одному столбцу но на выходе получишь только этот слобец
что postgres и возвращает, а activerecord принудительно просит еще и id что бы инстанциировать модельки
попробуй сделать User.all.group(:first_name).count
тогда он просто вернет группировку с суммой строк в группе и инстанциировать модели не будет
и все будет хорошо и красиво

Andiskiy
29.06.2017
11:38:08
также

Azamat
29.06.2017
11:38:48

Fedor
29.06.2017
11:39:09
а если хочешь получить чисто выборку по одной колонке без моделей, то надо использовать select_all или connection.execute с чистым sql
Image.group(:image_file_name).count
(0.4ms) SELECT COUNT(*) AS count_all, "images"."image_file_name" AS images_image_file_name FROM "images" GROUP BY "images"."image_file_name"
=> {"Безымянный.JPG"=>1, ....

ojab
29.06.2017
11:41:03

Andiskiy
29.06.2017
11:42:24
А что ты хочешь получить?
ну хотелось, чтобы работало как в мускул. Как мне тогда возвращать все столбцы и группировать по одному столбцу?

ojab
29.06.2017
11:42:53
все — это какие?
остальные столбцы разные

Google

ojab
29.06.2017
11:43:25
какое из этих разных значений должно попасть в выборку?


Andiskiy
29.06.2017
11:43:59
Image.group(:image_file_name).count
(0.4ms) SELECT COUNT(*) AS count_all, "images"."image_file_name" AS images_image_file_name FROM "images" GROUP BY "images"."image_file_name"
=> {"Безымянный.JPG"=>1, ....
запрос User.group(:first_name).count
Ошибка (2.8ms) SELECT COUNT(*) AS count_all, first_name AS first_name FROM "users" GROUP BY "users"."first_name" ORDER BY users.last_name, users.first_name,
users.middle_name, users.nickname
PG::Error: ERROR: column "users.last_name" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: ... "users" GROUP BY "users"."first_name" ORDER BY users.last...
^
: SELECT COUNT(*) AS count_all, first_name AS first_name FROM "users" GROUP BY "users"."first_name" ORDER BY users.last_name, users.first_name,
users.middle_name, users.nickname
ActiveRecord::StatementInvalid: PG::Error: ERROR: column "users.last_name" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: ... "users" GROUP BY "users"."first_name" ORDER BY users.last...
^
: SELECT COUNT(*) AS count_all, first_name AS first_name FROM "users" GROUP BY "users"."first_name" ORDER BY users.last_name, users.first_name,
users.middle_name, users.nickname


ojab
29.06.2017
11:44:28
order by убери и всё заработает
очевидно что order не может работать по столбцам, в которых непонятно какое значение

Fedor
29.06.2017
11:45:20
ага

Admin
ERROR: S client not available

Fedor
29.06.2017
11:45:36
и вызывается он неявно, судя по всему какой-то default_scope или типа того

Andiskiy
29.06.2017
11:46:06

ojab
29.06.2017
11:46:26
.unscope(:order)

Andiskiy
29.06.2017
11:46:41

ojab
29.06.2017
11:47:16
у итоговых строк last_name нет, а ты пытаешься по нему отсортировать

Andiskiy
29.06.2017
11:54:15

ojab
29.06.2017
11:54:31
нет, я имею в виду что у тебя этой колонки нет
last_name не null, в итоговых строках этой колонки просто нет
есть колонка COUNT(*) и есть колонка first_name
https://gist.github.com/ojab/2ca88c03117ea0e224e8be7cbf8d15af
кидай в gist такое длинное
опять же, SELECT "users".* ... GROUP BY first_name, что ты ожидаешь получить в колонке id?

Andiskiy
29.06.2017
12:07:32

Google

ojab
29.06.2017
12:07:45
юзеры сгруппированы по first_name
у получившихся колонок нет id'шника
то бишь id'шник какого из сгруппированных юзеров ты хочешь получить и какой смысл в получившемся значении?

Andiskiy
29.06.2017
12:08:55
я работал с мускул и мое понятие группировки чуть чуть слегка пошатнулось, так как в мускул я получал все столбцы сгруппированные по first_name

ojab
29.06.2017
12:09:22
pg во многом более строгий чем mysql, к этому надо привыкать, да

Andiskiy
29.06.2017
12:10:29
хорошо, спасибо, как можно получить уникальные записи по одному столбцу?

ojab
29.06.2017
12:10:48
.select(:first_name).distinct

Fedor
29.06.2017
12:11:20
что есть группировка:
допустим у нас есть массив пользователей [[1, вася], [2, петя], [3, вася], [4. вася]]
В sql ты говоришь User.group(:name) и получаешь [1,вася], [2,петя]
PG честно говорит, что вася - это 1,3 и 4 и что тебе показать он не знает, а показывать 1 - неправильно, потому что, вдруг ты хочешь последнего васю. И выдает ошибку

ojab
29.06.2017
12:11:24
собственно, выбрать значения из first_name и выбрать уникальные из них

Andiskiy
29.06.2017
12:12:40
что есть группировка:
допустим у нас есть массив пользователей [[1, вася], [2, петя], [3, вася], [4. вася]]
В sql ты говоришь User.group(:name) и получаешь [1,вася], [2,петя]
PG честно говорит, что вася - это 1,3 и 4 и что тебе показать он не знает, а показывать 1 - неправильно, потому что, вдруг ты хочешь последнего васю. И выдает ошибку
подскажи пожалуйста, как модно избежать таких ошибок?

Fedor
29.06.2017
12:13:00
и если на id тебе плевать, то ты можешь сделать User.all.select(:first_name).group(:first_name) и получишь только список имен сгруппированный
либо User.all.goup(:id, :first_name) и получишь список сгруппированный по id и first_name

ojab
29.06.2017
12:13:35
.all можно не писать

Andiskiy
29.06.2017
12:13:40
что есть группировка:
допустим у нас есть массив пользователей [[1, вася], [2, петя], [3, вася], [4. вася]]
В sql ты говоришь User.group(:name) и получаешь [1,вася], [2,петя]
PG честно говорит, что вася - это 1,3 и 4 и что тебе показать он не знает, а показывать 1 - неправильно, потому что, вдруг ты хочешь последнего васю. И выдает ошибку
вот как ты описал так и работало в мускул

Fedor
29.06.2017
12:13:44
но поскольку id у всех разный, то группировки просто не будет