You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Prisma生成datetime而非datetime(3)?

解决Prisma DateTime字段生成SQL带(3)的问题

两种配置方式:

1. 单个字段指定精度

直接在目标DateTime字段上添加@db.DateTime(0)注解,强制精度为0,生成的SQL就不会带(3)后缀:

model Activated {
    created        DateTime @default(now()) @db.DateTime(0)

    @@map(name: "activated")
}

执行db push后,对应的SQL会变成:

`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,

2. 全局统一配置

如果希望所有DateTime字段都默认使用不带精度的格式,在schema的datasource块中添加datetimePrecision = 0配置:

datasource db {
  provider = "mysql" // 对应你的数据库类型,如mariadb
  url      = env("DATABASE_URL")
  datetimePrecision = 0
}

这样所有DateTime字段生成SQL时都会默认使用datetime类型,不再附加精度后缀。

注:该配置仅适用于MySQL/MariaDB这类支持datetime精度设置的数据库,不同数据库的语法可能略有差异。

内容的提问来源于stack exchange,提问作者angry kiwi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:27:06