根据我的经验,Rails g migration
创建表迁移始终会为表添加时间戳。但事情并没有发生:
rails g migration CreateFoo bar:references
class Foo < ActiveRecord::Migration
def change
create_table :foos do |t|
t.references :bar, index: true
end
end
end
这是预期的行为吗? Rails 4中的这个改变了吗?
ActiveRecord 4.1.6
答案 0 :(得分:4)
时间戳只能使用生成模型创建。
这是指南中的一个例子。
http://guides.rubyonrails.org/migrations.html
$ bin/rails generate migration CreateProducts name:string part_number:string
产生
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
t.string :name
t.string :part_number
end
end
end
<强>达强>
您可以通过查看提供的代码示例来提出建议。
另见:
rails g migration --help
rails g model --help
你会看到时间戳只能通过“g model”自动提供(实际上你可以为模型禁用它)
答案 1 :(得分:1)
使用Rails生成模型函数来创建模型,迁移和测试/规范:
rails g model CreateFoo bar:references
这将在您的迁移中添加t.timestamps
。