Как сбросить дату обновления для нескольких тем
Я не знаю, какой именно сценарий использования имеется в виду, но, насколько я понимаю, при работе через веб-интерфейс достаточно просто сбрасывать дату поднятия отдельных тем, когда они были подняты. Я не вижу, когда вообще может потребоваться «массовый сброс даты поднятия», не говоря уже о том, чтобы это было настолько распространённой необходимостью, что требовало бы отдельного интерфейса.
В любом случае, если вы каким-то образом оказались в ситуации, когда нужно работать массово, это должно быть возможно сделать через CLI.
Спасибо за ответ.
Я использую бота для загрузки RSS-лент блогов/подкастов в Discourse. Когда лента обновляется, темы автоматически обновляются и поднимаются вверх. Мне приходится сбрасывать их по одной, поэтому я думаю, что было бы лучше, если бы можно было делать массовый сброс.
Что вы имеете в виду под CLI? Массовый сброс через базу данных? Спасибо.
Я как раз искал эту функцию.
Она нужна, потому что я приводил в порядок и переставлял вещи на своём форуме, и в результате множество старых постов поднялись наверх. Теперь мне приходится заходить в каждый из них и сбрасывать дату поднятия.
https://github.com/discourse/discourse/blob/master/app/models/topic.rb
Если, повторяю, если я правильно понял, в таблице Topics есть поле bumped_at типа datetime, которое не может быть null; его начальное значение не null совпадает со значением поля created_at, которое также не может быть null. Насколько мне известно, дата и время определяются функцией Ruby now.
Я думаю, что если вы максимально точно определите
- что было непосредственно до этого,
- что именно вы сделали,
- чего вы хотите достичь,
то у вас будет хороший шанс составить соответствующий запрос. Сколько записей считается «большим объемом»? Если это разовая задача, возможно, проще будет просто проделать это вручную.
(К сожалению, поля “prior_to_bump_date” не существует
)
У меня то же самое!
Как вручную сбросить дату поднятия из консоли Rails? Вернуть bumped_at к значению updated_at для соответствующих тем?