рельсы mongoid mongodb данные не убираются - PullRequest
1 голос
/ 21 февраля 2012

Rails 3.2.1

имя приложения: demo

база данных: mongoDB с mongoid

У меня есть эти леса в рельсах 3.2.1: localhost: 3000 / pages,

и у меня есть следующие поля: title, content.

Я уже заполнил 3 строки данных для каждого поля.

проблема заключается в том, что после удаления приложения (путем удаления корневой папки) и создания того же имени приложения (демо) с теми же лесами (страницами) остаются те 3 строки данных, которые мне больше не нужны.

Может кто-нибудь как почистить базу? Спасибо

Ответы [ 3 ]

5 голосов
/ 04 марта 2012

Самый простой способ, о котором я знаю, это

rake db:mongoid:drop

, как говорили другие, вы можете перейти к рейку --tasks и посмотреть его тоже

3 голосов
/ 21 февраля 2012

База данных существует вне вашего приложения, поэтому удаление вашего приложения не повлияет на нее. Чтобы очистить или удалить его, вам нужно использовать командную строку Монго или другой инструмент Монго. Откройте терминал / командную строку и введите:

mongo

И вы должны получить командную строку Монго. Переключитесь на БД для вашего приложения (скорее всего, оно будет иметь вид [app_name]_[environment]:

use demo_development

И используйте команду dropDatabase:

db.dropDatabase()
1 голос
/ 02 сентября 2013

Вот краткий фрагмент того, как вы можете определить задачу db_reset в пространстве имен вашего приложения.Это приведет к удалению как системных, так и Mongo DB, если гем MongoId установлен правильно

lib / tasks / app_name.rake:

namespace Rails.application.class.parent do
  desc 'Drops and recreates both Mongo and system databases for the current environment and loads the seeds.'
  task db_reset: :environment do
    Rake::Task['db:mongoid:purge'].invoke
    Rake::Task['db:reset'].invoke
  end
end
...