我正在创建一个Rails模板。模板包括generate(:model, "Post", "content:string", "user_id:integer:index")
,可以很好地为Post生成模型。但是,我也想:created_at
使用generate
Rails模板的命令向时间戳添加索引。在前面提到的生成模型中,还是通过其他方式,这可能吗?
我认为您可以简单地传递其他参数来生成,例如:"created_at:datetime:index"
和"--no-timestamps"
$ rails g model post content:string user_id:integer:index updated_at:datetime created_at:datetime:index --no-timestamps
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 generate migration AddIndexToPosts created_at:datetime:index
显然,您需要使它符合generate()
语法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句