如何在ruby中找到表列名已经存在?

时间:2011-11-06 10:04:52

标签: ruby-on-rails ruby ruby-on-rails-3 sqlite

示例:

我有旧表格格式(id,name,city),但现在我们修改了表格列,如(id,name,city,pin)

我想检查表中是否存在“pin”列,是否存在于rails中的ruby

3 个答案:

答案 0 :(得分:1)

Rails 2.3.x:

Model.columns.map(&:name).include?('pin')

Rails 3.x:

Model.column_exists?(:pin)

答案 1 :(得分:0)

您可以这样做以从表中获取所有列名称的数组作为符号:

YourModel.arel_table.columns.map( &:name )

检查是否存在pin列:

YourModel.arel_table.columns.map( &:name ).include?( :pin )

答案 2 :(得分:0)

您可以使用column_exists?检查Rails 3.0及更高版本的列是否存在。