我正在创建一个Rails模板。该模板包含generate(:model, "Post", "content:string", "user_id:integer:index")
,可以很好地为Post生成模型。但是,我还想使用Rails模板的:created_at
命令为时间戳generate
添加索引。这可能在前面提到的生成模型中,还是通过其他方式?
答案 0 :(得分:6)
我认为您可以简单地传递其他参数来生成,例如:"created_at:datetime:index"
和"--no-timestamps"
$ rails g model post content:string user_id:integer:index updated_at:datetime created_at:datetime:index --no-时间戳
invoke active_record create db/migrate/20140712155207_create_posts.rb create app/models/post.rb invoke test_unit create test/models/post_test.rb create test/fixtures/posts.yml
$ cat db / migrate / 20140712155207_create_posts.rb
class CreatePosts < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string :content
t.integer :user_id
t.datetime :updated_at
t.datetime :created_at
end
add_index :posts, :user_id
add_index :posts, :created_at
end
end
或者,您可以在模型生成后始终生成迁移:
$ rails生成迁移AddIndexToPosts created_at:datetime:index
显然,您需要使其符合generate()
语法。