Из-за ошибки, которая удалила пользователя в нашем Rails-приложении, я пытаюсь принудительно ввести другую запись пользователя в старый идентификатор записи.Rails: принудительно назначить идентификатор новой записи (или изменить идентификатор существующего)
$ rails console
> User.find(2)
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=2
> replacer = User.find(5)
=> #<User id: 5, created_at: [omitted for brevity ...] >
replacer.id = 2
=> 2
replacer.save
=> true
> User.find(2)
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=2
> User.find(5)
ActiveRecord::RecordNotFound: Couldn't find User with 'id'=5
> replacer
=> #<User id: 2, created_at: [omitted for brevity ...] >
> replacer.valid?
=> true
Что здесь происходит?
Вы не можете сделать это из AR, сделайте это прямо в базе данных. –
Я сделал что-то подобное раньше с AR. Не уверен, как это сделать в базе данных ... странная вещь - запись, по-видимому, сохранена, но не может быть найдена в id: 5 * или * id: 2. Это похоже на то, что она потеряна в limbo ... – Meltemi
Что происходит, когда вы выполняете 'replacer .save! '? –