Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@prisma/adapter-d1
Advanced tools
Prisma driver adapter for Cloudflare's D1 database.
[!NOTE] The adapter is currently in Preview, we are looking for feedback before moving to General Availability.
Refer to the announcement blog post and our docs for more details.
To get started, enable the driverAdapters
Preview feature flag in your Prisma schema:
// schema.prisma
generator client {
provider = "prisma-client-js"
previewFeatures = ["driverAdapters"]
}
datasource db {
provider = "sqlite"
url = "file:./dev.db"
}
Install Prisma CLI, Prisma Client, the Prisma adapter for Cloudflare D1, the TypeScript types for Cloudflare Workers, and Wrangler CLI packages:
npm install @prisma/client
npm install @prisma/adapter-d1
npm install --save-dev prisma
npm install --save-dev @cloudflare/workers-types
npm install --save-dev wrangler
Generate Prisma Client:
npx prisma generate
Update your Prisma Client instance to use PrismaD1
:
// Import needed packages
import { PrismaClient } from '@prisma/client'
import { PrismaD1 } from '@prisma/adapter-d1'
export interface Env {
// This must match the binding name defined in your wrangler.toml configuration
MY_DATABASE: D1Database
}
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
// Initialize Prisma Client with the D1 adapter
const adapter = new PrismaD1(env.MY_DATABASE)
const prisma = new PrismaClient({ adapter })
// Execute a Prisma Client query
const usersCount = await prisma.user.count()
// Return result
return new Response(usersCount)
},
}
// Import needed packages
import { PrismaClient } from '@prisma/client'
import { PrismaD1 } from '@prisma/adapter-d1'
export default {
async fetch(request, env, ctx) {
// Setup Prisma Client with the adapter
const adapter = new PrismaD1(env.MY_DATABASE)
const prisma = new PrismaClient({ adapter })
// Execute a Prisma Client query
const usersCount = await prisma.user.count()
// Return result
return new Response(usersCount)
},
}
Note: Make sure your D1 database is setup in your
wrangler.toml
. Refer to Cloudflare's docs to learn how to set up your database binding.
[[d1_databases]] binding = "MY_DATABASE" # i.e. available in the Worker on env.MY_DATABASE database_name = "database_name" database_id = "<unique-ID-for-your-database>"
Please refer to our docs to learn how to manage schema changes when using Prisma and Cloudflare D1.
We encourage you to create an issue if you find something missing or run into a bug.
If you have any feedback, leave a comment in this GitHub discussion.
FAQs
Prisma's driver adapter for Cloudflare D1
The npm package @prisma/adapter-d1 receives a total of 2,633 weekly downloads. As such, @prisma/adapter-d1 popularity was classified as popular.
We found that @prisma/adapter-d1 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.