#ruby-on-rails #database #activerecord
#ruby-on-rails #База данных #activerecord
Вопрос:
Пусть у нас есть некоторая модель в приложении Rails, представленная набором записей БД. У каждой из них будет поле ‘id’. Если мы удалим несколько первых записей, Model.first
метод вернет Model with id > 0
.
Итак, вопрос в следующем: как обновить все записи в БД (в стиле Rails), чтобы записи с id
полем начинались с нуля?
Комментарии:
1. обновление всех записей в больших таблицах является очень дорогостоящей операцией. И я не знаю случаев, когда это полезно
Ответ №1:
Поле Id не должно содержать информационного значения. Если вы хотите, чтобы записи имели номера, начинающиеся с 0, просто добавьте поле ‘number’ и уникальный индекс в это поле.
Редактировать: Это «Rails way», как это сделать.
Комментарии:
1. На самом деле я думаю, что это очень опасная и «не-рейлсовая» операция, для выполнения которой у меня должна была бы быть действительно веская причина.