Skip to content

Commit

Permalink
template(db): Update api/src/lib/db template (#11379)
Browse files Browse the repository at this point in the history
Updates the template in `api/src/lib/db.{js,ts}` to export `db` in a
different way.

This makes it easier to add Prisma client extensions.

---------

Co-authored-by: Josh GM Walker <56300765+Josh-Walker-GM@users.noreply.github.com>
  • Loading branch information
dac09 and Josh-Walker-GM committed Aug 28, 2024
1 parent 28c2daf commit ddf850d
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 15 deletions.
29 changes: 29 additions & 0 deletions .changesets/11379.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
- template(db): Update `api/src/lib/db` template (#11379) by @dac09

Updates the template in `api/src/lib/db.{js,ts}` to export `db` differently.

In your existing projects, you can make the following changes:

```diff

import { PrismaClient } from '@prisma/client'

import { emitLogLevels, handlePrismaLogging } from '@redwoodjs/api/logger'

import { logger } from './logger'
import { prismaExtension } from './uploads'

- export const db = new PrismaClient({
+ const prismaClient = new PrismaClient({
log: emitLogLevels(['info', 'warn', 'error']),
})

handlePrismaLogging({
- db
+ db: prismaClient,
logger,
logLevels: ['info', 'warn', 'error'],
})

+ export const db = prismaClient
```
15 changes: 10 additions & 5 deletions __fixtures__/test-project/api/src/lib/db.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,20 @@ import { emitLogLevels, handlePrismaLogging } from '@redwoodjs/api/logger'

import { logger } from './logger'

/*
* Instance of the Prisma Client
*/
export const db = new PrismaClient({
const prismaClient = new PrismaClient({
log: emitLogLevels(['info', 'warn', 'error']),
})

handlePrismaLogging({
db,
db: prismaClient,
logger,
logLevels: ['info', 'warn', 'error'],
})

/**
* Global Prisma client extensions should be added here, as $extend
* returns a new instance.
* export const db = prismaClient.$extend(...)
* Add any .$on hooks before using $extend
*/
export const db = prismaClient
15 changes: 10 additions & 5 deletions packages/create-redwood-app/templates/js/api/src/lib/db.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,20 @@ import { emitLogLevels, handlePrismaLogging } from '@redwoodjs/api/logger'

import { logger } from './logger'

/*
* Instance of the Prisma Client
*/
export const db = new PrismaClient({
const prismaClient = new PrismaClient({
log: emitLogLevels(['info', 'warn', 'error']),
})

handlePrismaLogging({
db,
db: prismaClient,
logger,
logLevels: ['info', 'warn', 'error'],
})

/**
* Global Prisma client extensions should be added here, as $extend
* returns a new instance.
* export const db = prismaClient.$extend(...)
* Add any .$on hooks before using $extend
*/
export const db = prismaClient
15 changes: 10 additions & 5 deletions packages/create-redwood-app/templates/ts/api/src/lib/db.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,20 @@ import { emitLogLevels, handlePrismaLogging } from '@redwoodjs/api/logger'

import { logger } from './logger'

/*
* Instance of the Prisma Client
*/
export const db = new PrismaClient({
const prismaClient = new PrismaClient({
log: emitLogLevels(['info', 'warn', 'error']),
})

handlePrismaLogging({
db,
db: prismaClient,
logger,
logLevels: ['info', 'warn', 'error'],
})

/**
* Global Prisma client extensions should be added here, as $extend
* returns a new instance.
* export const db = prismaClient.$extend(...)
* Add any .$on hooks before using $extend
*/
export const db = prismaClient

0 comments on commit ddf850d

Please sign in to comment.