You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: remove outdated section about shutdown hooks with prisma
This section has not been relevant since the introduction of the library
engine as the default in Prisma 3. Now, in Prisma 5, the code example
does not compile anymore since the `beforeExit` event was removed from
Prisma Client (except when generating the client with the binary engine
type, which most users should not do unless they have good reasons).
Note that even in Prisma 2 or when switching to the binary engine, using
`beforeExit` would've only been necessary to be able to run database
queries in lifecycle hooks, and wouldn't be necessary otherwise. The
justification for using `beforeExit` that was present in this section
was not fully accurate because while the bug it refers to
(prisma/prisma#3773) was fixed together with
the introduction of `beforeExit` hook (which I believe led to the
confusion), those were not strictly related changes.
> info **Note** The `onModuleInit` is optional — if you leave it out, Prisma will connect lazily on its first call to the database. We don't bother with `onModuleDestroy`, since Prisma has its own shutdown hooks where it will destroy the connection. For more info on `enableShutdownHooks`, please see [Issues with `enableShutdownHooks`](recipes/prisma#issues-with-enableshutdownhooks)
262
+
> info **Note** The `onModuleInit` is optional — if you leave it out, Prisma will connect lazily on its first call to the database.
269
263
270
264
Next, you can write services that you can use to make database calls for the `User` and `Post` models from your Prisma schema.
271
265
@@ -518,26 +512,6 @@ This controller implements the following routes:
518
512
519
513
-`/post/:id`: Delete a post by its `id`
520
514
521
-
#### Issues with `enableShutdownHooks`
522
-
523
-
Prisma interferes with NestJS `enableShutdownHooks`. Prisma listens for shutdown signals and will call `process.exit()` before your application shutdown hooks fire. To deal with this, you would need to add a listener for Prisma `beforeExit` event.
You can [read more](https://github.com/prisma/prisma/issues/2917#issuecomment-708340112) about Prisma handling of shutdown signal, and `beforeExit` event.
540
-
541
515
#### Summary
542
516
543
517
In this recipe, you learned how to use Prisma along with NestJS to implement a REST API. The controller that implements the routes of the API is calling a `PrismaService` which in turn uses Prisma Client to send queries to a database to fulfill the data needs of incoming requests.
0 commit comments