1

如何使基于活动记录的表中的时间戳列不需要值?

即现在当您运行迁移时:

class CreateInstructors < ActiveRecord::Migration
  def change
    create_table :instructor do |t|
      t.name
      t.timestamps
    end
  end
end

created_atupdated_at接受空值。您如何仍然保留时间戳但允许空值?

4

2 回答 2

1

不赞成将时间戳记为空,这是没有意义的。但是如果你愿意,你可以让你的迁移接受 nil 值

t.column  :created_at , :timestamp, :null => true
t.column  :updated_at , :timestamp, :null => true

然后你可以创建一个后回调或任何你想让它为空的条件

于 2013-06-24T21:23:06.473 回答
-1

为什么要为 created_at 或 updated_at 时间戳设置空值?

我建议创建另一个字段来处理您正在处理的任何情况,可能是布尔值或附加时间戳字段,而不是重新利用这些保留字段。

但是我不知道你的用例......

于 2013-06-24T21:12:55.197 回答