Как вы добавляете индексы в свою базу данных Mongoid в Padrino?

#ruby #mongodb #mongoid #padrino

#ruby #mongodb #mongoid #падрино

Вопрос:

Мне нужно иметь возможность добавлять индексы в свою базу данных Mongoid в проекте Padrino. Я видел, что они добавили задачи 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?

Спасибо!

Ответ №1:

Когда вы создавали свой проект Padrino, вы выбрали mongoid в качестве механизма сохранения? Подсказка: легко проверить, просмотрев .components файл в корне вашего проекта. Если вы это сделали, вы должны иметь доступ к задачам rake, просто используя padrino rake <namespace>:<task> . Смотрите здесь: http://www.padrinorb.com/guides/rake-tasks#orm .

Выполнение задачи rake для создания индекса должно быть просто: padrino rake mongoid:create_indexes

Я бы padrino rake -T также проверил список доступных задач.

Ответ №2:

 bundle exec padrino rake mi:create_indexes 
  

(не mongoid:create_indexes, как вы увидите в другом месте онлайн)

Похоже, это новое название для этой задачи rake в Padrino 0.10.5 и Mongoid 2.3.4