ruby – 数量超出了ActiveRecord :: Type :: Integer,限制为4

前端之家收集整理的这篇文章主要介绍了ruby – 数量超出了ActiveRecord :: Type :: Integer,限制为4前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的 Ruby应用程序中使用sqlite ActiveRecord,并且在尝试将一个大数字写入整数字段时,我遇到错误

1428584647765 is out of range for ActiveRecord::Type::Integer with
limit 4

但是根据sqlite文档:

The value is a signed integer,stored in 1,2,3,4,6,or 8 bytes depending on the magnitude of the value.

8字节是大量的空间存储1428584647765号码,那为什么ActiveRecord给我一个错误?为什么它认为这是一个4字节的字段?

解决方法

美好的一天.
默认情况下,使用len = 32字节创建columnt

为了改变这个,你可以创建迁移,例如:

t.integer :some_field,:limit => 8

猜你在找的Ruby相关文章