gpt4 book ai didi

ruby-on-rails - 奇怪的 Heroku 浮点位精度错误(ruby on rails)

转载 作者:行者123 更新时间:2023-11-29 12:38:47 24 4
gpt4 key购买 nike

最初我的模型上的坐标字段使用整数,但是当我尝试部署到 Heroku 时,我被提醒(通过崩溃)我需要它是一个 float (因为我的坐标中有小数点) .所以我在我的本地机器上生成了一个 change_column 迁移,将它们 change_column 改为 float 。一切顺利。

我再次尝试部署到 heroku,首先使用 heroku pg:reset,然后使用 heroku db:setup。在 db:setup 期间,我收到以下错误:

PGError:错误:浮点类型的精度必须小于 54 位
: CREATE TABLE "landmarks"("id"串行主键, "name"character varying(255), "xcoord"float(255), "ycoord"float(255), "created_at"timestamp, "updated_at"timestamp)

所以我生成了另一个 change_column 迁移,这次也使用了 :precision 选项(设置为 :precision => 50,小于 54)。我再次经历了整个部署过程,它给了我同样的错误。

我做错了什么吗?我已经部署了另一个应用程序到 Heroku 之前,它使用 float 没有任何修改......

我在本地机器上使用 SQLite,我认为 Heroku 使用 Postgres?

提前致谢!

[编辑:我还应该提到,在我更改坐标的 :precision 值后显示的错误输出 SQL 仍然显示“float(255)”...不知道为什么]

最佳答案

不要使用 float(255) 作为列类型。使用 realdouble precision。请阅读http://www.postgresql.org/docs/8.3/static/datatype-numeric.html#DATATYPE-FLOAT

此外,我们强烈建议在本地使用 postgres 进行开发。在开发和生产之间大幅切换堆栈的重要部分时,遇到不一致的情况太常见了——比如这个。您的数据库是堆栈的重要组成部分。

关于ruby-on-rails - 奇怪的 Heroku 浮点位精度错误(ruby on rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com