Допустим, у меня есть объект FireNinja < Ninja
в моей базе данных, хранящийся с использованием наследования одной таблицы. Позже я понимаю, что он действительно WaterNinja < Ninja
. Какой самый чистый способ изменить его на другой подкласс? Более того, я хотел бы создать новый объект WaterNinja
и просто заменить старый FireNinja
в БД, сохранив идентификатор.
Редактировать
Я знаю, как создать новый объект WaterNinja
из моего существующего FireNinja
, и я также знаю, что могу удалить старый и сохранить новый. То, что я хотел бы сделать, это mutate класс существующего элемента. Делаю ли я это, создавая новый объект и применяя магию ActiveRecord для замены строки, или делая какие-то безумные вещи с самим объектом, или даже удаляя его и вставляя заново с тем же идентификатором, это часть вопроса.