Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions apps/docs/content/docs/guides/postgres/vercel.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ In the local version of your project where you have your `DATABASE_URL` set, run
npx prisma studio
```

## Billing and pricing

Prisma Postgres uses [usage-based pricing](https://www.prisma.io/pricing) based on operations and storage. The same plans and rates apply when you create a database via the Vercel Marketplace, and your Prisma Postgres usage is billed through your Vercel account.

To change your plan, see [How do I upgrade my plan if I am using Prisma Postgres via Vercel?](/postgres/faq#how-do-i-upgrade-my-plan-if-i-am-using-prisma-postgres-via-vercel) in the Prisma Postgres FAQ.

Comment on lines +64 to +69
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Resolve the spellcheck blocker before merge.

GitHub Actions shows lint:spellcheck failing for this PR; please fix the flagged term(s) in this docs update or add valid product terms to the project dictionary so CI can pass.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/content/docs/guides/postgres/vercel.mdx` around lines 64 - 69, The
spellcheck CI is failing for the changes under the "## Billing and pricing"
section: either correct the flagged spelling/terminology in the text (e.g.,
within the "Prisma Postgres" / "Vercel Marketplace" mentions and the FAQ link
text) or add any valid product terms that the linter flags to the project
spellcheck dictionary so lint:spellcheck passes; update the content string
accordingly and commit the dictionary entry if you choose the whitelist
approach.

## Additional considerations when using with Prisma ORM

### Ensure your project uses the correct environment variable
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/orm/v6/more/ai-tools/tabnine.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ AI editors like Tabnine are powerful tools that can drastically improve develope

Because Prisma has its own [schema](/orm/v6/prisma-schema/overview), Tabnine can understand the basic shape of your data and help you write code for the other parts of your stack.

We therefore recommend that you start out by defining your Prisma schema and then use Tabnine to build the application layer around it (inluding API calls, DTOs, business logic, 3rd party integrations, ...).
We therefore recommend that you start out by defining your Prisma schema and then use Tabnine to build the application layer around it (including API calls, DTOs, business logic, 3rd party integrations, ...).

## Data modeling and database schema design

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ var mySqlEnv = dotenv.config({ path: envFile });
dotenvExpand.expand(mySqlEnv);
```

If you are using multiple `.env` files, you can refernce an environment file in your project's code depending on the environment you are running in.
If you are using multiple `.env` files, you can reference an environment file in your project's code depending on the environment you are running in.

```ts
import { config } from "dotenv";
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/orm/v6/overview/databases/neon.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ This feature has been Generally Available since Prisma ORM [v6.16.0](https://pri

:::

To get started, istall the Prisma ORM adapter for Neon:
To get started, install the Prisma ORM adapter for Neon:

```npm
npm install @prisma/adapter-neon
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ Locate and navigate to the settings for the project.
1. For **VALUE**, paste the database connection string.
1. Click **Save**.<br />

You have to add some code and create another commit to trigger a re-dployment.
You have to add some code and create another commit to trigger a re-deployment.

Add the following code in your `index.ts` file:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,14 @@ generator client {
If you are using Prisma inside a monorepo (e.g., with TurboRepo) and deploying to Vercel, you may encounter issues where required files—such as `libquery_engine-rhel-openssl-3.0.x.so.node` are missing from the deployed bundle. This is because Vercel aggressively optimizes serverless deployments, sometimes stripping out necessary Prisma files. To resolve this, use the [@prisma/nextjs-monorepo-workaround-plugin](https://www.npmjs.com/package/@prisma/nextjs-monorepo-workaround-plugin) plugin, which ensures that Prisma engine files are correctly included in the final bundle.
For more details on how Prisma interacts with different bundlers like Webpack and Parcel, see our [Module bundlers](/orm/v6/prisma-client/deployment/module-bundlers#overview) page.

The usage of this plugin becomes obsolet if:
The usage of this plugin becomes obsolete if:

- you are using [Prisma ORM without Rust engines](/orm/v6/prisma-client/setup-and-configuration/no-rust-engine) (via `engineType = "client` on your `generator` block)
- you are using the [new `prisma-client` generator](/orm/v6/prisma-schema/overview/generators#prisma-client)

### CI/CD workflows

In a more sophisticated CI/CD environment, you may additonally want to update the database schema with any migrations you have performed during local development. You can do this using the [`prisma migrate deploy`](/orm/v6/reference/prisma-cli-reference#migrate-deploy) command.
In a more sophisticated CI/CD environment, you may additionally want to update the database schema with any migrations you have performed during local development. You can do this using the [`prisma migrate deploy`](/orm/v6/reference/prisma-cli-reference#migrate-deploy) command.

In that case, you could create a custom build command in your `package.json` (e.g. called `vercel-build`) that looks as follows:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ Use `findUnique()` in combination with [the fluent API](/orm/v6/prisma-client/qu

:::info

It may seem counterintitive to use a `prisma.user.findUnique(...).posts()` query to return posts instead of `prisma.posts.findMany()` - particularly as the former results in two queries rather than one.
It may seem counterintuitive to use a `prisma.user.findUnique(...).posts()` query to return posts instead of `prisma.posts.findMany()` - particularly as the former results in two queries rather than one.

The **only** reason you need to use the fluent API (`user.findUnique(...).posts()`) to return posts is that the dataloader in Prisma Client batches `findUnique()` queries and does not currently [batch `findMany()` queries](https://github.com/prisma/prisma/issues/1477).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ When two or more transactions run concurrently in certain [isolation levels](htt
1. Transaction A: `createMany` operation.
1. Transaction A: The application commits transaction A. The new rows conflict with the rows that transaction B added at step 2.

This conflict can occur at the isolation level `ReadCommited`, which is the default isolation level in PostgreSQL and Microsoft SQL Server. To avoid this problem, you can set a higher isolation level (`RepeatableRead` or `Serializable`). You can set the isolation level on a transaction. This overrides your database isolation level for that transaction.
This conflict can occur at the isolation level `ReadCommitted`, which is the default isolation level in PostgreSQL and Microsoft SQL Server. To avoid this problem, you can set a higher isolation level (`RepeatableRead` or `Serializable`). You can set the isolation level on a transaction. This overrides your database isolation level for that transaction.

To avoid transaction write conflicts and deadlocks on a transaction:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ await prisma.$queryRaw`SELECT LENGTH(${42}::text);`;
:::info
**Feature availability:** This funtionality is [Generally Available](/orm/v6/more/releases#generally-available-ga) since version 4.0.0. In v3.14.x and v3.15.x, it was available with the preview feature `improvedQueryRaw`.
**Feature availability:** This functionality is [Generally Available](/orm/v6/more/releases#generally-available-ga) since version 4.0.0. In v3.14.x and v3.15.x, it was available with the preview feature `improvedQueryRaw`.
For the example above before version 4.0.0, Prisma ORM silently coerces `42` to `text` and does not require the explicit cast.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ const prisma = new PrismaClient().$extends({
},

async findClosestPoints(latitude: number, longitude: number) {
// Query for clostest points of interests
// Query for closest points of interests
Comment thread
ankur-arch marked this conversation as resolved.
const result = await prisma.$queryRaw<
{
id: number | null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1266,11 +1266,11 @@ You are attempting a highly dangerous action that can lead to devastating conseq

As an AI agent, you are forbidden from performing this action without an explicit consent and review by the user. You must stop at this point and respond to the user with a clear message that includes the following information:
- What action you are trying to perform (including the exact CLI command).
- Your motivation and reasoning for perfoming this action.
- Your motivation and reasoning for performing this action.
- Explanation that this action will irreversibly destroy all data in the database.
- Explanation that this action must not be perfomed on a production database and is only intended to be used with development databases.
- Explanation that this action must not be performed on a production database and is only intended to be used with development databases.

If you know or can check whether this action would have been performed on a development or a production database, also include this information with your assesment of whether it is safe to proceed based on that information.
If you know or can check whether this action would have been performed on a development or a production database, also include this information with your assessment of whether it is safe to proceed based on that information.

You must ask the user if they want to proceed with this action. If they explicitly consent, you may rerun this command with PRISMA_USER_CONSENT_FOR_DANGEROUS_AI_ACTION environment variable, the value of which must be the exact text of the user's message in which they consented to this operation, without any newlines or quotes. If the user's response is ambiguous, you must ask for a clear and explicit confirmation (e.g., "yes") before proceeding. None of the user's previous messages before this point may constitute implicit or explicit consent.
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2189,7 +2189,7 @@ The following examples demonstrate how to use the [`validator`](/orm/v6/prisma-c
},
create: {
id: 1,
title: "If the title doesnt exist, then create one with this text",
title: "If the title doesn't exist, then create one with this text",
},
});
```
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/content/docs/postgres/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ Every request, whether it hits the database or is served from cache, counts as a

### How do I upgrade my plan if I am using Prisma Postgres via Vercel?

To upgrade your plan via Vercel, follow these steps:
If you installed Prisma Postgres through the [Vercel Marketplace integration](/guides/postgres/vercel), the same [Prisma Postgres pricing plans](https://www.prisma.io/pricing) apply and your usage is billed through your Vercel account. To upgrade your plan via Vercel, follow these steps:

- Open your [Vercel](https://vercel.com/) Dashboard.
- Go to the **Integrations** tab in your Vercel Team.
Expand Down
46 changes: 46 additions & 0 deletions apps/docs/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
"Activeusers",
"Aiven",
"amcheck",
"amet",
"Amplication",
"Ania",
"anotherproduct",
Expand All @@ -23,13 +24,15 @@
"baselining",
"Baselining",
"behaviour",
"bestfriend",
"betterauth",
"bigserial",
"BIGSERIAL",
"bindefault",
"biograpy",
"blobshape",
"Bobberton",
"Bobo",
"Bpchar",
"bridg",
"Buildpacks",
Expand All @@ -39,6 +42,7 @@
"bytea",
"BYTEA",
"Candycane",
"catcat",
"cerbos",
"Cerbos",
"citext",
Expand All @@ -47,7 +51,10 @@
"cloudflareworkers",
"cmcvwftgs",
"codegen",
"Codemods",
"codemods",
"coinflips",
"columnx",
"CREATEDB",
"createmany",
"Ctype",
Expand All @@ -56,6 +63,7 @@
"datadog",
"datamodel",
"DATAPROXY",
"daterange",
"datetimeoffset",
"dbgenerated",
"dblink",
Expand Down Expand Up @@ -95,6 +103,7 @@
"geoexample",
"geofencing",
"Geofencing",
"geometrycollection",
"glassmorphism",
"Glassmorphism",
"gofmt",
Expand All @@ -115,12 +124,18 @@
"instrumentors",
"intagg",
"intarray",
"ISAM",
"isemail",
"isready",
"jaegertracing",
"janedoe",
"JFZERTQSIs",
"johndoe",
"Kleppmann",
"koyeb",
"Koyeb",
"kwame",
"Kwame",
"kysely",
"Kysely",
"lastname",
Expand All @@ -134,13 +149,17 @@
"libsql",
"LIBSQL",
"libz",
"linestring",
"linktree",
"Linktree",
"llms",
"localdb",
"LONGBLOB",
"LONGTEXT",
"lseg",
"ltree",
"macaddr",
"makemigrations",
"managees",
"MEDIUMBLOB",
"MEDIUMINT",
Expand All @@ -149,6 +168,10 @@
"Millis",
"moddatetime",
"mongosh",
"multilinestring",
"multipoint",
"multipolygon",
"musti",
"mycomputer",
"myconfig",
"mydatabase",
Expand All @@ -159,18 +182,26 @@
"myhostname",
"myorg",
"mypassword",
"myproject",
"myschema",
"mysqld",
"mysqldump",
"napi",
"NDEKTSV",
"neondb",
"Neward",
"nextauth",
"nextval",
"Nhost",
"nightsky",
"Nikolas",
"Nilu",
"Nixpacks",
"NOCASE",
"NONCLUSTERED",
"Noor",
"ntext",
"numrange",
"nuxi",
"nvarchar",
"NVARCHAR",
Expand Down Expand Up @@ -204,6 +235,7 @@
"pooler",
"poolers",
"postgis",
"Postgraphile",
"Postgre",
"postgres",
"Postgres",
Expand Down Expand Up @@ -235,11 +267,14 @@
"redeployments",
"reducedprice",
"refint",
"regclass",
"reintrospection",
"Replibyte",
"Replit",
"rootca",
"RRFFQ",
"RSPCA",
"Sabelle",
"safeql",
"Saqui",
"schemaname",
Expand All @@ -260,15 +295,18 @@
"Sorcha",
"specialised",
"SPGIST",
"sqlcmd",
"sqlcommenter",
"srid",
"SRID",
"s3cret",
"sslaccept",
"sslcert",
"sslidentity",
"sslinfo",
"sslmode",
"sslpassword",
"sslrootcert",
"Stammerjohann",
"streamdal",
"Streamdal",
Expand All @@ -278,12 +316,15 @@
"Supabase",
"Supavisor",
"Superblog",
"Superstruct",
"superstruct",
"Svetlana",
"tablefunc",
"tablename",
"tablenames",
"tabnine",
"Tabnine",
"teacherid",
"timestamptz",
"Timestamptz",
"TIMESTAMPTZ",
Expand All @@ -297,6 +338,9 @@
"traceparent",
"Treatos",
"trgm",
"tsquery",
"tsrange",
"tstzrange",
"tsvector",
"turbopack",
"Turbopack",
Expand All @@ -310,11 +354,13 @@
"typefully",
"Typefully",
"typegraphql",
"Umzug",
"unaccent",
"unexecutable",
"unikernel",
"unikernels",
"unindexed",
"untick",
"unixepoch",
"uploadthing",
"UPLOADTHING",
Expand Down
Loading