如何在Padrino中为Mongoid数据库添加索引?

时间:2011-10-01 16:54:10

标签: ruby mongodb mongoid padrino

我需要能够在Padrino项目中为我的Mongoid数据库添加索引。我看到他们在这里添加了rake任务:

https://github.com/padrino/padrino-framework/commit/ec8a267f477ac4dc88a66c84fffb17ac26190a22

似乎应该通过这样做来访问它们,但是我收到了一个错误:

$ padrino-gen orm::mongoid --help
=> Problem loading ./config/boot.rb
=> Invalid option :index provided to relation :features. Valid options are: as, autosave, dependent, foreign_key, order, class_name, extend, inverse_class_name, inverse_of, name, relation, validate.
  /Users/jeremysmith/.rvm/gems/ruby-1.9.2-p290/gems/mongoid-2.2.1/lib/mongoid/relations/options.rb:41:in `block in validate!'

如何运行rake任务以在Padrino中添加索引?

谢谢!

2 个答案:

答案 0 :(得分:4)

当您生成Padrino项目时,您是否选择mongoid作为持久性引擎?提示:通过查看项目根目录中的.components文件,可以轻松查看。如果您这样做,您应该只能使用padrino rake <namespace>:<task>访问rake任务。见这里:http://www.padrinorb.com/guides/rake-tasks#orm

运行rake任务来创建索引应该只是:padrino rake mongoid:create_indexes

我会检查padrino rake -T以查看可用任务列表。

答案 1 :(得分:2)

bundle exec padrino rake mi:create_indexes 

(不是mongoid:create_indexes,你会在网上看到其他地方)

这似乎是Padrino 0.10.5和Mongoid 2.3.4中这个rake任务的新名称