Rails 3.2中的PostgreSQL DATALINK类型

时间:2014-06-25 20:52:34

标签: ruby-on-rails postgresql

我想在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

1 个答案:

答案 0 :(得分:6)

PostgreSQL没有datalink类型。

您链接的Wiki页面是设计文档。我已经添加了一些文字来说清楚:

  

这是一个设计文档,描述了PostgreSQL中可能尚不存在的功能的规划。请参阅您的版本的官方文档以获取有关可用功能的信息。

简单地use the PostgreSQL text datatype或告诉rails保留长度不受限制 - PostgreSQL并不要求varchar有长度限制,它只是Rails的愚蠢默认值创造了这个限制。