在我的Rails应用程序上开发数据库架构时犯了一个战略错误
现在我必须使用
按价格功能进行排序MyModel.order('price DESC')
价格是数据库中的字符串类型,例如导致50大于2000
有没有办法在不改变数据库结构的情况下实现这样的.order()
?
修改
我切换到价格列的正确类型(整数)。我花了一个小时来重构。
答案 0 :(得分:9)
使用PostgreSQL,您需要将字符串转换为integer
/ float
/ decimal
(在您确定100%将不会将列类型更改为更正后) 一):
MyModel.order('price::integer DESC')
请考虑此answer以使其快速运行。