我试图创建触发器使用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
我可以选择其中一个文件添加我的触发器内或只是创建另一个文件并添加我的触发器内?
1条答案
按热度按时间lvmkulzt1#
可以,您可以声明作为迁移一部分的数据库触发器。您可以创建带有
--create-only
标志的迁移。因此调用
npx prisma migrate dev --create-only
命令将创建一个空的迁移文件,然后可以在这个新创建的文件中添加数据库触发器,再次调用npx prisma migrate dev
将应用这个新迁移。您可以阅读更多关于自定义迁移here的信息。