使用Rails迁移创建表时如何添加created_at和Updated_at

B S*_*ven 2 activerecord rails-migrations ruby-on-rails-3 ruby-on-rails-4

Rails g migration CreateFoo
Run Code Online (Sandbox Code Playgroud)

这不会将created_at和update_at添加到迁移中。有没有一种方法可以生成迁移并添加时间戳作为参数?

Rails g migration CreateFoo timestamps 没用。

VKa*_*atz 6

您需要销毁该表并再次生成

Rails g migration CreateFoo
Run Code Online (Sandbox Code Playgroud)

并检查生成的迁移文件是否存在timestampmehtods。如果没有,那么就这样放

t.timestamps
Run Code Online (Sandbox Code Playgroud)

编辑更新

您可以使用任一语法。

t.datetime :created_at
t.datetime :updated_at
Run Code Online (Sandbox Code Playgroud)
t.timestamps is just an abstract form of writing.
Run Code Online (Sandbox Code Playgroud)

希望它会有所帮助。


TK-*_*421 5

好像这些只能通过模型​​自动生成。

否则,您可以createt.timestamps或一起将其手动添加add_timestamps :foochange现有表中。