我在Heroku上运行了一些迁移,我遇到了这个问题。我在我的一次迁移中有这一行来创建一个新表:
t.binary :file, :limit => 10.megabytes
Heroku正在给我这个PostgreSQL错误:
An error has occurred, this and all later migrations canceled:
PGError: ERROR: type modifier is not allowed for type "bytea"
LINE 1: ..."file" bytea(10485760)...
^
: CREATE TABLE "files" ("id" serial primary key, "file" bytea(10485760), "created_at" timestamp, "updated_at" timestamp)
如何更改我的迁移,以便它与MySQL和Postgre一起使用?
答案 0 :(得分:16)
来自Heroku的文档:
原因:PostgreSQL不限制二进制字段。使用:limit选项添加:binary字段的任何迁移都会引发语法错误。
解决方案:如果可能,请省略:二进制字段的限制 - 或者在运行之前测试数据库。