Драгоценный камень Mongo_Mapper_Ext Алексея Патрушина ... как создать миграцию? - PullRequest
0 голосов
/ 19 февраля 2012

Я хочу запустить преобразование / миграцию данных для MongoDB. Я нашел гем mongo_mapper_ext в stackoverflow, но я думаю, что я настолько новичок в миграции, что не знаю, как его использовать.

Приложение My Rails развернуто на heroku. Так что я думаю, что когда я напишу миграцию и отправлю ее в heroku, я смогу запустить heroke rake: db migrate. Это правильно или миграция должна выполняться в инициализаторе приложения?

Когда я пишу сам перенос, куда этот файл попадает в каталог моего приложения?

https://github.com/alexeypetrushin/mongo_mapper_ext

Любой совет, как лучше всего это сделать, был бы очень полезен. Спасибо!

1 Ответ

1 голос
/ 20 февраля 2012

Если вы посмотрите на задачу rake mongo_mapper_ext, похоже, что вы поместите файл (ы) миграции в каталог db вашего приложения rails.

namespace :db do
  desc "Migrate Database"
  task migrate: :environment do
    ::Migration = MongoMapper::Migration
    Dir["#{rad.config.runtime_dir!}/db/**/*.rb"].each{|f| require f.sub(/\.rb$/, '')}

    database_alias = ENV['d'] || ENV['database']
    database_alias = 'default' if database_alias.blank?

    version = ENV['v'] || ENV['version']
    if version.blank?
      size = MongoMapper::Migration.definitions[database_alias].size
      highest_defined_version = size == 0 ? 0 : size - 1      
      version = highest_defined_version
    else
      version = version.to_i
    end

    MongoMapper::Migration.update database_alias, version
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...