如何将 "ON UPDATE" 添加到 Prisma 模式中的列定义?

How to add "ON UPDATE" to column definition in prisma schema?

我想创建具有以下定义的列

  updated_at TIMESTAMP NOT NULL DEFAULT NOW() ON UPDATE now(),

但是当我输入 schema.prisma

  updated_at             DateTime               @updatedAt @db.DateTime(0)

然后我得到 table 列:

  `updated_at` datetime NOT NULL,

如何使用 prisma 添加 ON UPDATE now() 到此列?我用 MySQL/MariaDB.


参考文献:

连接问题

https://github.com/prisma/prisma/issues/5799#issuecomment-894631317

关于更新的文章

https://medium.com/@bengarvey/use-an-updated-at-column-in-your-mysql-table-and-make-it-update-automatically-6bf010873e6a

根据 client reference 看来客户端本身负责提供更新的 DATETIME 值,而不是您想要的方式(在数据库服务器中完成)。

如果您确实需要 table/column 定义完全符合您的要求,我建议您直接在 SQL 中创建或修改 table,然后使用 introspect在您的架构中导入定义。

您甚至可以将定义添加到您的 prisma 迁移文件中,因为这些只是普通的 sql 文件。如何做到这一点可以在 Customizing Migrations 文章

中找到