【发布时间】:2012-09-03 17:46:09
【问题描述】:
我有一个类需要包含最多约 300k 个字符的 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?
还是别的什么?
【问题讨论】:
-
可能默认最大值就是最大最大值;你只能降低限制?试试
:length => 32768看看有没有效果... -
我一开始以为 :length 不起作用,但它确实起作用了。
标签: ruby postgresql heroku sinatra datamapper