Rails - 如何使用 ActiveRecord 添加 BLOB 列?
我需要创建一个 BLOB 列来存储一些文本内容。
我在某处读到我需要执行以下操作:
class AddVersionCommentToMetaData < ActiveRecord::Migration
def self.up
add_column :meta_data, :version_comment, :binary, :limit => 10.megabyte
end
def self.down
remove_column :meta_data, :version_comment
end
end
但是,它给出了以下错误消息:
PGError:错误:类型修饰符不允许用于类型“bytea”第 1 行: ...“meta_data”添加列“version_comment_extended”bytea(1048... ^ : 改变 表“meta_data”添加列“version_comment_extended” 字节茶(10485760)
有什么想法吗?
请注意,我使用的是 PostgreSQL。 谢谢!
I need to create a BLOB column to store some text content.
I have read somewhere that I need to do the following:
class AddVersionCommentToMetaData < ActiveRecord::Migration
def self.up
add_column :meta_data, :version_comment, :binary, :limit => 10.megabyte
end
def self.down
remove_column :meta_data, :version_comment
end
end
However, it gives the following error message:
PGError: ERROR: type modifier is not allowed for type "bytea" LINE 1:
..."meta_data" ADD COLUMN "version_comment_extended" bytea(1048...
^ : ALTER
TABLE "meta_data" ADD COLUMN "version_comment_extended"
bytea(10485760)
Any idea?
Please note that I am using PostgreSQL.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
除了下部之外,迁移似乎是正确的。应该是:
仔细检查拼写错误。您使用什么版本的 Rails?它在 Rails 3.0.7 中运行良好。
The migration seems to be correct except the down part. It should be:
double check for typos. And what version of rails are you using? It works well in rails 3.0.7.