如何在 Prisma 迁移工具中使用 DECIMAL(10,2)?

How to use DECIMAL(10,2) in prisma migrate tool?

我需要在数据库中保存 DECIMAL(10,2)。在 MySQL 中有 DECIMAL 类型。

MySQL 文档:

https://dev.mysql.com/doc/refman/8.0/en/fixed-point-types.html

Prisma 2.0 文档:

https://www.prisma.io/docs/reference/database-connectors/mysql

可能的 Prisma 2.0 流程:

https://www.prisma.io/docs/understand-prisma/introduction#typical-prisma-workflows

是否有计划在 Prisma Migrate 流程中支持 mysql 数据类型,例如 DECIMAL(10,2)

目前prisma migrate不支持Decimal类型。您可以跟踪自定义数据库类型的问题 here

作为解决方法,您必须使用自定义迁移工具并指定您需要的 Decimal 字段,然后指定 运行 prisma introspect,这将从您的数据库并填充 schema.prisma.

已在 prisma/prisma@v2.15.0

中添加了对本机类型的完全支持
datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}
 
model Product {
  id Int @id @default(autoincrement())
  code String
  price Decimal @db.Decimal(9,2)
}