postgresql 使用Prisma ORM在迁移中手动添加触发器

brc7rcf0  于 2023-02-15  发布在  PostgreSQL
关注(0)|答案(1)|浏览(153)

我试图创建触发器使用postgresql与 prisma 作为ORM,但它似乎还不支持触发器。我发现这个answer,但我不想创建我的触发器逻辑在服务器级别(使用中间件)。
现在我问,我可以在我的数据库迁移中作为一个迁移级别手动创建我的触发器吗,或者它可能会导致一些问题?
例如,我的应用程序中有以下迁移

├── prisma
│   ├── migrations
│   │   ├── 20230202011931_initial
│   │   │   └── migration.sql
│   │   ├── 20230202012555_default_to_created_at
│   │   │   └── migration.sql
│   │   ├── 20230202130457_mapping
│   │   │   └── migration.sql
│   │   └── migration_lock.toml
│   └── schema.prisma

我可以选择其中一个文件添加我的触发器内或只是创建另一个文件并添加我的触发器内?

lvmkulzt

lvmkulzt1#

可以,您可以声明作为迁移一部分的数据库触发器。您可以创建带有--create-only标志的迁移。
因此调用npx prisma migrate dev --create-only命令将创建一个空的迁移文件,然后可以在这个新创建的文件中添加数据库触发器,再次调用npx prisma migrate dev将应用这个新迁移。
您可以阅读更多关于自定义迁移here的信息。

相关问题