2017-05-03 8 views
0

ruby​​ on railでは通常、SQLiteをdatabase.soとして使用しています。これは、 "mongodb"をレールのデータベースとして使用すると、 .dbディレクトリにmigrateフォルダがないことがわかります。 mongodbを使用するときに、この移行プロパティをレールで使用する方法はありますか。mongodbで、レール上のruby "migration"ツールの使い方

+1

私の知る限りを参照してくださいねraong mongodb migrations "が始まるのがよいかもしれません。 –

+0

使用しているレールのバージョンは? – user3402754

答えて

0

ActiveRecordはリレーションデータベースで動作しますので、mongoidなどの異なる宝石を探してください.SQLiteやPostgreSQLと同様のマイグレーションジョブを実行できます。

0

ドキュメントによれば、heredb:migrate:は依存関係のために存在しますが、実際には何もしません。 しかし、使用しているレールのバージョン、プロジェクトの設定方法、そしてmongodbだけを使用する予定があるかどうかわからないため、明確に記載されている場合は、すべての仮定をもとに両方の可能性をゼロから作成します。

このアプローチは、あなたが一人でmongodb

  1. --skip-active-recordスイッチであなたのRailsアプリを作成して使用したいを前提としています。
  2. あなたGemfile
  3. gem 'mongoid'を追加するには、Gemfile
  4. からsqlite3を削除し、bundle
  5. 実行rails g mongoid:config
  6. があなたのapplication.rbファイルをチェックして実行し、「クラスのアプリケーション」あなたは、この行Mongoid.load! './config/mongoid.yml'を持っているの内側にそれはだことを確認してくださいconfigが生成されたときには含まれないことがありますが、Mongoidを使用する必要があります。
  7. Mongoidはすぐに利用できます。

modelscaffoldなどのためのRailsのジェネレータはMongoidによって上書きされています。作成するモデル、足場などは、modelsフォルダ内のApplicationRecordから継承するのではなく、Mongoid :: Documentモジュールを含むクラスを作成します。

例えば

、あなたが

rails g model person first_name last_name email_address

を実行するときに、ファイルapp/models/person.rb

を開く場合は、あなたが "のためにグーグルで、別の宝石を必要と

class Person 
    include Mongoid::Document 
    field :first_name, type: String 
    field :last_name, type: String 
    field :email_address, type: String 
end 
関連する問題