跳转到主要内容

使用 @db.Money

优化功能提供建议,帮助您识别和解决因使用 @db.Money 类型引起的性能问题。

以下模型使用了 @db.Money 原生类型

model Item {
// ...
price Decimal @db.Money
// ...
}

问题是什么?

PostgreSQL 中的 @db.Money 数据类型不适合存储货币值。在内部,@db.Money 被实现为一个整数,这提供了速度,但缺乏灵活性。它以意想不到的方式处理小数值和四舍五入,这可能会导致不准确。

此外,@db.Money 类型不存储有关相关货币的任何信息。相反,它依赖于全局 lc_monetary 区域设置,这可能不适用于所有用例。

有关更多信息,请参阅PostgreSQL 文档