У меня есть script с использованием ActiveRecord, который динамически создает имена столбцов на основе значений, считанных из файла CSV, примерно так:
FasterCSV.foreach('votes.csv', :headers => true) do |row|
column_name = "roll_call_id_#{row['roll_call_id']}"
if !Legislator.columns.map(&:name).include?(column_name)
connection_pool.connection.add_column('legislators', column_name, 'string')
end
end
Проблема заключается в том, что после создания нового столбца я не могу сделать legislator.update_attribute(column_name, value)
, потому что класс не поднимает новый столбец и жалуется, что он не существует.
Как я могу заставить его снова запросить структуру таблицы?