最初我的模型上的坐标字段使用整数,但是当我尝试部署到 Heroku 时,我被提醒(通过崩溃)我需要它是一个浮点数(因为我的坐标中有小数点)。所以我在我的本地机器上生成了一个 change_column 迁移,以将它们 change_column 改为浮点数。一切顺利。
我尝试再次部署到 heroku,首先使用 a heroku pg:reset
,然后使用heroku db:setup
. 在 db:setup 期间,我收到以下错误:
PGError: ERROR: precision for type float must be less than 54 bits
: CREATE TABLE "landmarks" ("id" serial primary key, "name" character varying(255), "xcoord" float(255), "ycoord" float(255), "created_at" timestamp, "updated_at" timestamp)
所以我生成了另一个 change_column 迁移,这次也使用 :precision 选项(设置为:precision => 50
,小于 54)。我再次经历了整个部署过程,它给了我同样的错误。
难道我做错了什么?在使用 float 之前,我已经将另一个应用程序部署到 Heroku,没有任何修改......
我在本地机器上使用 SQLite,我认为 Heroku 使用 Postgres?
提前致谢!
[编辑:我还应该提到,在我更改:precision
坐标值后显示的错误输出 SQL 仍然显示'float(255)'......不知道为什么]