设置字符串值的默认值

时间:2016-01-05 14:10:18

标签: ruby-on-rails

我有一个activities表,其中包含一个名为viewed的字符串值。我想将字符串viewed的默认值设置为uncheck而不是null。但我可以让它发挥作用。

我已创建了迁移

class AddDefaultToViewedInActivities < ActiveRecord::Migration

  def change
    change_column_default :activities, :viewed, uncheck
  end

end

但是当我运行rake db:migrate时,变更并没有发生。

*更新*

看起来我错过了一些括号,

change_column_default(:activities, :viewed, 'uncheck')

这很有效。

2 个答案:

答案 0 :(得分:2)

正如您目前所写,uncheck是方法调用,而不是字符串。它应该是

class AddDefaultToViewedInActivities < ActiveRecord::Migration
  def change
    change_column_default :activities, :viewed, "uncheck"
  end
end

答案 1 :(得分:1)

使用此

class AddDefaultToViewedInActivities < ActiveRecord::Migration

  def change
    change_column_default :activities, :viewed, default: 'uncheck'
  end

end