Getting started
If you would like just have a quick peak at a working project how a look at our playground
folder on GitHub.
1. Setup Prisma project
Install the following node modules dependencies. See Prisma quick start guide. If you already have a Prisma project you can go ahead and simply install prisma-extension-bark
only and skip to the next step.
npm i @prisma/client prisma-extension-bark
npm i -D prisma
Run Prisma initialization command. (This will create new a folder named prisma
with a prisma.schema
file.)
npx prisma init
2. Implement the required field on your model
In your schema.prisma
file create a node
model with the minimum required fields for Bark to work and the field you would like to have on this model. For more information on the model refer to Model Reference documentation.
// prisma/schema.prisma
model node {
// Extension's internal fields
id Int @id @default(autoincrement())
path String @unique
depth Int
numchild Int @default(0)
// Your fields go here...
name String
@@index([path])
}
3. Create migration
Run the following command to create a new database migration. For more information on this Prisma CLI command see Prisma documentation.
npx prisma migrate dev
4. Extend Prisma Client with Bark
Nearly there! Create a new .js/.ts file and extend your Prisma client. Learn about Prisma Client extensions.
// index.js
import { PrismaClient } from '@prisma/client'
import { withBark } from 'prisma-extension-bark'
const xprisma = new PrismaClient().$extends(withBark({ modelNames: ['node'] }))
const myNewRootNode = await xprisma.node.createRoot({ data: { name: 'My new root' } })
// { id: 1, path: '0001', depth: 1, numchild: 0, name: 'My new root' }
Have a look at our Client Extension API documentation to discover what else you can do with Bark.
Last updated