1

ActiveRecord には次のものがありました。

class Patient < ActiveRecord::Base
end

DataMapper には次のものがありました。

class Patient
  include DataMapper::Resource

  property :id, Serial
  property :name, String
  has n, :orders
  # ... a lot of properties and associations more
end

DataMapperで列名を自動的に取得するには?

4

2 に答える 2

1

この質問は少し古いようですが、「dm-is-reflective」という宝石があります。基本的に、ほとんどのマッピングを行います。タイムスタンプを使用している場合は、DateTime 列を次のようにマップする必要があります。property :created_at, DateTime, :field => 'create_date'

宝石をインストールし、モデルでそれを要求するだけでrequire 'dm-is-reflective'、各クラスで次のようなことができます。

class Comment
include DataMapper::Resource
is :reflective

    # manually mapping a timestamps field
property :created_at, DateTime, :field => 'create_date' 
reflect /.*/  # This is just one way to do this. 
end

モデルをセットアップする方法は他にもいくつかありますが、この方法は私にとってはうまくいきました。

詳細については... https://github.com/godfat/dm-is-reflective

于 2013-05-13T13:30:06.007 に答える
1

あなたはそうしない。Datamapper の主な機能の 1 つは、モデルでマッピングを定義することです。そのため、データベース スキーマ全体を変更することなく Rails 列の命名規則を使用できるため、レガシー スキーマを操作するときに Datamapper が優れた選択肢となります。

property :deleted,  Boolean,  field: 'isdeleted'  

詳細についてはドキュメントを参照してください。要するに、これは datamapper の機能であり、制限ではありません。そして、モデルで明示的に定義されたテーブル プロパティを持つのが好きです。

http://datamapper.org/why.html

于 2013-03-22T01:07:58.630 に答える