Size: a a a

Saint P Ruby Community

2019 October 08

IL

Ivan Lopatin in Saint P Ruby Community
Да
источник

IL

Ivan Lopatin in Saint P Ruby Community
И хотел бы оптимизировать кейс когда много апдетов
источник

ME

Makar Ermokhin in Saint P Ruby Community
А сейчас какие запросы идут? На каждый элемент списка?
источник

IL

Ivan Lopatin in Saint P Ruby Community
Угу
источник

ME

Makar Ermokhin in Saint P Ruby Community
Ну у нас так: допустим нужно элемент с номером 10 перетащить на 5 место
Тогда идёт 2 запроса:
- апдейт где позиции с 5 по 9 на + 1
- апдейт где позиция 10 на позицию 5
источник

ME

Makar Ermokhin in Saint P Ruby Community
Что то типа того
источник

ME

Makar Ermokhin in Saint P Ruby Community
Но это конечно не помогает оптимизировать когда ты много элементов перетаскиваешь
источник

ME

Makar Ermokhin in Saint P Ruby Community
Но вроде все равно лучше
источник

IL

Ivan Lopatin in Saint P Ruby Community
Сейчас так пользователь меняет меняет а потом приходит массив с тем что надо изменить
источник

IL

Ivan Lopatin in Saint P Ruby Community
И вот вместо итерации по нему хочется сразу залить все в бд
источник

В

Владимир in Saint P Ruby Community
Ivan Lopatin
И вот вместо итерации по нему хочется сразу залить все в бд
Так а чем не нравится гем?
источник

В

Владимир in Saint P Ruby Community
Ivan Lopatin
Посоны кто сталкивался и как решал проблему балк апдейтов. Задача такая есть некоторый список и на нем можно перемещать элементы потом этот порядок нужно сохранить. Элементов много сейчас есть итерация по массиву и там where id такой-то назначить позицию такую-то и так по всему массиву. Можно ли это сделать балком средствами гемов или еще какими-то. Есть activerecord-import но это не совсем то мне показалось, но может показалось. Есть рекомендация запилить весь апдейт в транзакцию и тогда сразу все уйдет в базу, минусы если с одной записью что-то не так роллбек. Есть еще какие-то варики ? Кроме руками собирать запросу апдетов в пачку и делать екзекьют. 🙏
О котором тут писал
Он вроде решает проблему
источник

IL

Ivan Lopatin in Saint P Ruby Community
Я быстро поглядел и он про импорт и про апсерт, но может чего-то не доглядел.
источник

IL

Ivan Lopatin in Saint P Ruby Community
Я не нашел апи что бы передать значения айдишников и по паре айди, column => value сделать апдейт
источник

AN

Artem Napolskih in Saint P Ruby Community
источник

AN

Artem Napolskih in Saint P Ruby Community
апи называется sql.
источник

IL

Ivan Lopatin in Saint P Ruby Community
Ого не знал 😉 а что-то кроме есть?
источник

w

wi11son in Saint P Ruby Community
источник

V

Vera in Saint P Ruby Community
> в суровом мужском Ruby-коллективе
источник

V

Vera in Saint P Ruby Community
че вы там Катю обижаете
источник