4

最大約 30 万文字の TEXT が必要なクラスがあり、PostgreSQL データベースに格納されています。

Postgres 自体はメガバイトの BLOB に問題はありませんが (最終的には S3 に保存します)、Datamapper には TEXT のデフォルトの制限が '65k 文字' あります:

デフォルトでは、DataMapper は次のプリミティブ型をサポートしています。

  • TrueClass、ブール値
  • テキスト (デフォルトで 65k 文字の制限)

私は何かをしたい

property :id,                     Serial
property :name,                   String, :index => true         
property :posted,                 DateTime
property :info,                   DataMapper::Types::Text, :lazy => false
property :data,                   DataMapper::Types::Text, :limit => 500000 # needs to be big is :limit correct?5

http://datamapper.rubyforge.org/dm-core/DataMapper/Property.htmlから取得したため、遅延部分は問題ありませんが、TEXT フィールドの制限をオーバーライドするために使用するキーワードは何ですか:

  • :length?
  • :maximum?
  • :limit?

または、他の何か?

4

1 に答える 1

3

わかった、

結局のところ、長さは機能します。

class SomeClass
  include DataMapper::Resource

  property :id,                     Serial
  property :name,                   String, :index => true         # strings are actively loaded 
  property :posted,                 DateTime
  property :info,                   Text, :lazy => false # This is short stuff a hundred or so bytes long that I want loaded 
  property :data,                   Text, :length => 500000 # Text is lazy loaded by default, but I also need to override the default length limit which is 65536 chars in DM
于 2012-09-10T20:42:53.387 に答える