मुझे लगता है कि स्तंभ नाम गतिशील रूप से एक CSV फ़ाइल से पढ़ने के मूल्यों पर आधारित बनाता है ActiveRecord का उपयोग कर एक स्क्रिप्ट है, कुछ इस तरह:पुनः लोड स्तंभ नाम
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)
नहीं कर सकता क्योंकि कक्षा नया कॉलम नहीं लेती है और शिकायत करती है कि यह अस्तित्व में नहीं है।
मैं इसे फिर से तालिका संरचना से कैसे क्वेरी कर सकता हूं?
क्या प्रत्येक मॉडल पर लागू करने का एक आसान तरीका है, उदाहरण के लिए: 'ActiveRecord :: Base। reset_column_information'? – Dorian
हां, 'ActiveRecord :: Base.descendants.each (&: reset_column_information) ' – Joao