#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