3

最近、私はdjango開発からフルタイムのレール作業に変換しました。これはかなり小さなお店で、本から物事を拾い上げています。

先週、Railsのモデルがデータベースのコンテンツを反映していないことを知ったとき、メンタルモデルに大きな打撃を与えました。

違いの例を参照してください:http://www.peterkrantz.com/2009/rails-grails-django-models/

私が興味を持っているのは、新しいデータ型と関係をサポートするためにモデルを継続的に変更するにはどうすればよいですか?

また、モデルファイルに表示されている特定のクラスのテーブルにすべての属性を含める方法はありますか?

ありがとう

4

2 に答える 2

5

移行はあなたが探しているものだと思います。

モデルファイルに表示されるすべての列が必要な場合は、注釈gemを使用します

于 2011-12-20T16:38:41.443 に答える
1

これは、使用するORMによって異なります。ActiveRecordは実際にデータベースからスキーマをフェッチしますが、Mongoidはモデルに注釈を付けることを提案します。これが私の現在のプロジェクトのモデルの1つです。

class DailyStat

  include Mongoid::Document

  identity :type => String

  field :app_id, :type => Integer
  field :date, :type => DateTime

  field :stats, :type => Hash
  field :totals, :type => Hash
  field :counts, :type => Hash
end

これは、MongoDBのスキーマレスの性質によるものです。このような宣言がない場合、すべてのフィールドは動的タイプ(デフォルトでは文字列)になります。そして、宣言は型を強制するのに役立ちます。

また、MongoDBでは移行がなく、注釈付きのgemはここでは役に立ちません。

于 2011-12-20T16:39:15.667 に答える