运行此迁移后,我的geo_latitude和geo_longitude列的类型为“float”(无精度和比例)。我可以直接运行sql查询并将类型更改为float(10,6),那么为什么迁移会忽略我的精度和比例参数呢?
def change
add_column :item_exifs, :geo_latitude, :float, precision: 10, scale: 6, null: false, default: 0
add_column :item_exifs, :geo_longitude, :float, precision: 10, scale: 6, null: false, default: 0
end
答案 0 :(得分:1)
尝试将类型更改为十进制,
def change
add_column :item_exifs, :geo_latitude, :decimal, precision: 10, scale: 6, null: false, default: 0
add_column :item_exifs, :geo_longitude, :decimal, precision: 10, scale: 6, null: false, default: 0
end
某些活动记录版本根据使用的数据库有几种奇怪的行为
Float vs Decimal in ActiveRecord
请参阅@Rokibul Hasan和@ ryan0答案