@H_403_1@我在我的
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
默认情况下,使用len = 32字节创建columnt
为了改变这个,你可以创建迁移,例如:
t.integer :some_field,:limit => 8