2012-02-19 5 views
0

MongoDBのデータ変換/移行を実行します。私はstackoverflow上でmongo_mapper_extの宝石を見つけましたが、私は一般的に私はそれを使用する方法がわからない一般的な移行に新しいですね。Mongo_Mapper_Ext gem by Alexey Patrushin ...移行の作成方法は?

私のRailsアプリは英雄に配備されています。ですから、私が移行を書いてそれを英雄にプッシュすると、英雄レーキを実行できるはずです:db migrate。それは正しいのですか?または、移行をアプリケーション初期化プログラムで実行する必要がありますか?

私は移行自体を書くとき、そのファイルはどこにアプリケーションディレクトリに入っていますか?

https://github.com/alexeypetrushin/mongo_mapper_ext

これを行うための最善の方法上の任意のアドバイスはとても参考になります。ありがとうございました!

答えて

1

mongo_mapper_extのレーキタスクを見ると、railsアプリケーションのdbディレクトリにマイグレーションファイルを置くように見えます。

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 
+0

ありがとうございました。私は[Mongrations](https://github.com/terrbear/mongrations)の代わりに、[最近更新されたフォーク](https://github.com/terrbear/mongrations/network)を使用することになりました。 – colllin

関連する問題