@streamdal/prisma-extension-streamdal
v0.0.11
Published
Streamdal code native data pipelines for Prisma
Downloads
8
Maintainers
Readme
Streamdal Prisma Client Extension
Code native data pipelines for Prisma query operations
Use Streamdal's code native data pipelines to observe, transform, and secure data before it enters or exists the database.
Read more about Streamdal here: Streamdal. Read more about Prisma client extensions here: Prisma docs.
Prerequisites
You must have the Streamdal platform running. To bring it up locally, you can use docker compose:
docker compose up
Alternatively you can deploy it to your environment, see here for details:
https://github.com/streamdal/streamdal/tree/main/docs/install
Install
npm install @streamdal/prisma-extension-streamdal
Configure
You can configure the extension via env variables or code. The configuration variables you provide will point to the Streamdal platform you ran just above.
If your app supports .env
files, add the following there:
STREAMDAL_URL="localhost:8082"
STREAMDAL_TOKEN="1234"
STREAMDAL_SERVICE_NAME="prisma-user-service"
STREAMDAL_QUIET=true
Or export them:
export STREAMDAL_URL="localhost:8082"
export STREAMDAL_TOKEN="1234"
export STREAMDAL_SERVICE_NAME="prisma-user-service"
Or via code: see and uncomment configuration code in the example app:
https://github.com/streamdal/streamdal-eamples/blob/main/prisma-extension/index.ts
Run your app as normal and all your Prisma operations will be mapped by
Streamdal automatically and you can view them and pipelines to them
in the Streamdal console at http://localhost:8080
or wherever
you installed it in the install step above.
Run the Example App
Clone the examples repository:
git clone [email protected]:streamdal/streamdal-examples.git
cd streamdal/examples/prisma-extension
npm install
npx prisma db push
npm run dev
This will fire up the example app running the Streamdal Prisma Extension that inserts and fetches random users continuously.
Go to http://localhost:8080
and you will see the above operations were automatically
instrumented and you are now able to create and add pipelines to them.