Я получил кучу записей в locations
таблице:Пахнет ActiveRecord портит атрибуты объекта на экономии
...
*************************** 8. row ***************************
id: 8
feed: http://feeds.bbc.co.uk/weather/feeds/rss/5day/world/4564.xml
...
*************************** 11. row ***************************
id: 11
feed: http://feeds.bbc.co.uk/weather/feeds/rss/5day/world/5007.xml
...
С помощью этой миграции:
def self.up
add_column :locations, :old_feed, :string
Location.all.each do |l|
l.old_feed = l.feed
l.feed.sub!(/^.*?(\d+)\.xml$/, 'http://newsrss.bbc.co.uk/weather/forecast/\1/Next3DaysRSS.xml') # l.feed = l.feed.sub(...) does not make it any better
l.save!
end
end
Я хочу, чтобы превратить их в
...
*************************** 8. row ***************************
id: 8
feed: http://newsrss.bbc.co.uk/weather/forecast/4564/Next3DaysRSS.xml
old_feed: http://feeds.bbc.co.uk/weather/feeds/rss/5day/world/4564.xml
...
*************************** 11. row ***************************
id: 11
feed: http://newsrss.bbc.co.uk/weather/forecast/5007/Next3DaysRSS.xml
old_feed: http://feeds.bbc.co.uk/weather/feeds/rss/5day/world/5007.xml
...
Вместо этого я получаю
...
*************************** 8. row ***************************
id: 8
feed: http://feeds.bbc.co.uk/weather/feeds/rss/5day/world/4564.xml
old_feed: http://newsrss.bbc.co.uk/weather/forecast/4564/Next3DaysRSS.xml
...
*************************** 11. row ***************************
id: 11
feed: http://feeds.bbc.co.uk/weather/feeds/rss/5day/world/5007.xml
old_feed: http://newsrss.bbc.co.uk/weather/forecast/5007/Next3DaysRSS.xml
...
Похоже, feed
и old_feed
как-то поменялись местами, и я не могу понять, почему.
Rails 2.3.4, MySQL 5.0.
P.S.
Держу пари, что это что-то глупо очевидно, я здесь отсутствует.
Какова валидация места? Любые переопределенные сеттеры/геттеры? – Eimantas
P.S. Я бы не рекомендовал делать изменения данных при переносе. Возможно, вам захочется создать отдельную граблированную задачу. – Eimantas
Нет перенастраиваемых сеттеров/геттеров – artemave