Как пересчитать идентификаторы записей БД в rails?

#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. На самом деле я думаю, что это очень опасная и «не-рейлсовая» операция, для выполнения которой у меня должна была бы быть действительно веская причина.