Отделывание ответа Jonathan.
UPDATE tbl
SET title = new_val
FROM mapper
WHERE title IN (SELECT old_val FROM mapper)
AND mapper.old_val = tbl.title;
Его начальная версия потребовала бы большого количества чтений к таблице картопостроителя.
Вы хотите использовать attr_readonly
:
Атрибуты, указанные как только для чтения, будут использоваться для создания новой записи, но операции обновления будут игнорировать эти поля.
class Customer < ActiveRecord::Base
attr_readonly :your_field_name
end
And that field is always and by definition "correct" (i.e. an accurate representation of reality) at the time of insertion ?
No user ever makes a mistake when entering that field for the first (and in your scheme : only) time ?