我想在Rails 3.2中使用DATALINK类型(https://wiki.postgresql.org/wiki/DATALINK),但不支持。
使用此迁移文件:
def up
change_column :images, :image_url, :datalink
change_column :images, :source_url, :datalink
end
在迁移期间显示:
PG::UndefinedObject: ERROR: type "datalink" does not exist
我尝试过使用https://github.com/dockyard/postgres_ext/tree/1-0-stable但输出相同。
任何的想法?
或者,如何在不使用:string
的情况下安全存储网址,因为它已转换为type character varying(255)
,这有点受限:
PG::StringDataRightTruncation: ERROR: value too long for type character varying(255)
使用:text
并不是最好的方式:P
答案 0 :(得分:6)
PostgreSQL没有datalink
类型。
您链接的Wiki页面是设计文档。我已经添加了一些文字来说清楚:
这是一个设计文档,描述了PostgreSQL中可能尚不存在的功能的规划。请参阅您的版本的官方文档以获取有关可用功能的信息。
简单地use the PostgreSQL text
datatype或告诉rails保留长度不受限制 - PostgreSQL并不要求varchar
有长度限制,它只是Rails的愚蠢默认值创造了这个限制。