-
Notifications
You must be signed in to change notification settings - Fork 851
Docs for v6.17.0 #7133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Docs for v6.17.0 #7133
Conversation
WalkthroughDocs replace API Keys-based Console instructions with a Dashboard "Connect to your database" card flow for obtaining direct connection strings, add parenthetical notes that Console authentication isn't required for local Prisma Postgres workflows, and make small formatting/EOF adjustments in the PrismaConfig reference snippet. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant User
participant Console as Prisma Console
participant Dashboard as Project Dashboard
participant Card as "Connect to your database" Card
User->>Console: Open project
Console->>Dashboard: Navigate to Dashboard
User->>Card: Click "Connect"
Card-->>User: Display postgres:// connection string
User->>User: Copy and save connection string
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal). Please share your feedback with us on this Discord post. Comment |
Dangerous URL checkNo absolute URLs to prisma.io/docs found. |
Redirect checkThis PR probably requires the following redirects to be added to static/_redirects:
|
Deploying docs with
|
Latest commit: |
5ed148c
|
Status: | ✅ Deploy successful! |
Preview URL: | https://2c055d3a.docs-51g.pages.dev |
Branch Preview URL: | https://docs-6-17-0.docs-51g.pages.dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
content/250-postgres/300-database/650-direct-connections.mdx (1)
38-39
: Mask secrets and disable copy for sample credentialsThe example shows realistic-looking USER/PASSWORD (incl. an
sk_
-prefixed token). Avoid accidental leakage and copy-paste into production.-```bash -DATABASE_URL="postgres://2f9881cc7eef46f094ac913df34c1fb441502fe66cbe28cc48998d4e6b20336b:[email protected]:5432/?sslmode=require" +```bash no-copy +DATABASE_URL="postgres://<USER>:<PASSWORD>@db.prisma.io:5432/?sslmode=require"+Note: Replace and with the credentials generated in the Prisma Console.
</blockquote></details> <details> <summary>content/100-getting-started/03-prisma-postgres/115-import-from-existing-database-mysql.mdx (1)</summary><blockquote> `184-185`: **Prisma datasource provider should be "postgresql" (not "postgres")** This will break schema parsing and generation. ```diff - provider = "postgres" + provider = "postgresql"
🧹 Nitpick comments (11)
content/200-orm/800-more/350-ai-tools/300-windsurf.mdx (1)
555-555
: Clarify local-auth caveat consistently across sectionsGood addition. Consider mirroring the same parenthetical in the “Usage” list (Line 568) so readers who skip the workflows section still see it.
-1. Authenticate with the [Prisma Console](https://console.prisma.io) using the sign-in prompt, then select a target [workspace](/platform/about#workspace) +1. Authenticate with the [Prisma Console](https://console.prisma.io) using the sign-in prompt (not required for local Prisma Postgres workflows), then select a target [workspace](/platform/about#workspace)content/250-postgres/1100-integrations/500-vscode.mdx (1)
23-23
: Fix double space typoMinor copy edit.
-- View, create and delete Prisma Postgres instances (local & remote) +- View, create and delete Prisma Postgres instances (local & remote)content/200-orm/800-more/350-ai-tools/200-tabnine.mdx (1)
485-485
: Correct product name (“Windsurf” → “your editor”)This Tabnine page references Windsurf by mistake.
-Beyond managing your database instances, the Prisma VS Code extension embeds Prisma Studio directly in your editor, making it easy to perform create, update, and delete operations on your database right inside Windsurf. Follow these [easy steps](/postgres/database/prisma-studio/studio-in-vs-code) to get started. +Beyond managing your database instances, the Prisma VS Code extension embeds Prisma Studio directly in your editor, making it easy to perform create, update, and delete operations on your database right inside your editor. Follow these [easy steps](/postgres/database/prisma-studio/studio-in-vs-code) to get started.content/200-orm/800-more/350-ai-tools/100-cursor.mdx (1)
548-548
: Correct product name (“Windsurf” → “your editor”)Copy-paste issue.
-Beyond managing your database instances, the Prisma VS Code extension embeds Prisma Studio directly in your editor, making it easy to perform create, update, and delete operations on your database right inside Windsurf. Follow these [easy steps](/postgres/database/prisma-studio/studio-in-vs-code) to get started. +Beyond managing your database instances, the Prisma VS Code extension embeds Prisma Studio directly in your editor, making it easy to perform create, update, and delete operations on your database right inside your editor. Follow these [easy steps](/postgres/database/prisma-studio/studio-in-vs-code) to get started.content/250-postgres/300-database/650-direct-connections.mdx (2)
21-23
: Grammar: “an environment”Article agreement.
-1. Navigate to a environment with an active Prisma Postgres instance +1. Navigate to an environment with an active Prisma Postgres instance
165-165
: Typo: “connet” → “connect”; also “editor” → “database”Clearer wording.
-You can now connet to your Prisma Postgres editor using your favorite PostgreSQL client, e.g. `psql` or a GUI like ... +You can now connect to your Prisma Postgres database using your favorite PostgreSQL client, e.g. `psql` or a GUI like ...content/100-getting-started/03-prisma-postgres/115-import-from-existing-database-mysql.mdx (1)
44-49
: Grammar: “an environment”Same article issue as other pages.
-1. Navigate to a environment with an active Prisma Postgres instance +1. Navigate to an environment with an active Prisma Postgres instancecontent/250-postgres/100-introduction/200-getting-started.mdx (1)
57-62
: Grammar + consistency: “an environment”; consider consistent naming for “direct connection (TCP)”
- Fix article.
- Optional: Align terminology (“direct connection” vs “direct TCP connection”) with the title of the reference page for consistency.
-1. Navigate to a environment with an active Prisma Postgres instance +1. Navigate to an environment with an active Prisma Postgres instanceOptional wording tweak elsewhere on the page:
- First mention: “direct connection (TCP)”
- Subsequent mentions: “direct connection”
content/200-orm/500-reference/325-prisma-config-reference.mdx (3)
62-65
: Clarify experimental flags type to match intended usage.If flags are opt-in only, make members optional true-literals to reflect “present = enabled” and avoid implying they must always be set.
experimental: { - adapter: true; - externalTables: true; - studio: true; + adapter?: true; + externalTables?: true; + studio?: true; };Follow-up: the options table below lists these as boolean; consider aligning wording to “set to true to enable; omit otherwise.”
171-171
: Trim stray space in property name.Minor formatting nit in table header cell.
-| `studio.adapter ` | `(env: Env) => Promise<SqlMigrationAwareDriverAdapterFactory>` | No | none | +| `studio.adapter` | `(env: Env) => Promise<SqlMigrationAwareDriverAdapterFactory>` | No | none |
392-392
: Typo: duplicated word.Fix “how how” → “how you”.
-For example, assuming `schema.prisma` defines the `datasource`, here's how how need to place the migrations folder: +For example, assuming `schema.prisma` defines the `datasource`, here's how you need to place the migrations folder:
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (8)
content/100-getting-started/03-prisma-postgres/115-import-from-existing-database-mysql.mdx
(1 hunks)content/200-orm/500-reference/325-prisma-config-reference.mdx
(10 hunks)content/200-orm/800-more/350-ai-tools/100-cursor.mdx
(1 hunks)content/200-orm/800-more/350-ai-tools/200-tabnine.mdx
(1 hunks)content/200-orm/800-more/350-ai-tools/300-windsurf.mdx
(1 hunks)content/250-postgres/100-introduction/200-getting-started.mdx
(1 hunks)content/250-postgres/1100-integrations/500-vscode.mdx
(1 hunks)content/250-postgres/300-database/650-direct-connections.mdx
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: runner / linkspector
- GitHub Check: Lost Pixel
🔇 Additional comments (14)
content/250-postgres/1100-integrations/500-vscode.mdx (1)
22-22
: LGTM — helpful clarificationThe “not required for local Prisma Postgres workflows” note looks good.
content/200-orm/800-more/350-ai-tools/200-tabnine.mdx (1)
468-468
: LGTM — consistent with other AI tool pagescontent/200-orm/800-more/350-ai-tools/100-cursor.mdx (1)
531-531
: LGTM — matches the pattern across docscontent/250-postgres/300-database/650-direct-connections.mdx (1)
21-39
: Confirm UI path covers credential generationThe new “Dashboard → Connect to your database” flow implies credentials are created/provisioned. Validate that users will reliably get USER/PASSWORD via this path, or add a sub-step/link that explicitly points to where to generate/view credentials.
content/200-orm/500-reference/325-prisma-config-reference.mdx (10)
15-16
: Good spacing for list + code block rendering.Blank line ensures proper MDX list/fence nesting.
28-31
: Trailing comma improves diffs and Prettier compliance.Consistent with trailingComma: "all".
34-36
: Good spacing before the second list code block.Prevents rendering quirks.
48-51
: Consistent trailing comma in example.Matches surrounding samples.
103-104
: Clear recommendation bullets.Good, concise guidance with links.
122-124
: Table header formatting reads cleanly.Consistent with other sections.
136-141
: D1 adapter example: flag + trailing comma look correct.Matches rename note below.
178-182
: Studio example: experimental flag placement is clear.Trailing comma keeps style consistent.
223-224
: “Learn more” link is correct and scoped.Matches feature name casing with backticks.
281-282
: Duplicate “Learn more” link mirrors earlier section.Keeps cross-references consistent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
content/250-postgres/100-introduction/250-overview.mdx (3)
14-14
: Tighten phrasing and parallelism in “Schema migrations and queries” bullet.“ORM/database library” reads awkwardly; prefer “ORM or database library” and switch “via”→“with” for consistency with other bullets.
-- Schema migrations and queries (via [Prisma ORM](https://www.prisma.io/orm) or any other ORM/database library) +- Schema migrations and queries (with [Prisma ORM](https://www.prisma.io/orm) or any other ORM or database library)
18-21
: Product naming: prefer “Prisma Console dashboard”.Use the full product name and sentence‑case “dashboard” for consistency across docs.
-You can view the following usage metrics in your Console Dashboard: +You can view the following usage metrics in the Prisma Console dashboard:
22-26
: Make metric labels concise and style‑consistent (avoid “your”, redundant words).Also, consider matching exact UI labels if they differ.
- Cumulative usage over time - - Total count of requests - - Storage used per project in your workspace - - Operations used per day + - Total requests + - Storage used per project + - Operations per day - Databases per project
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
content/250-postgres/100-introduction/250-overview.mdx
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: Check internal links
- GitHub Check: runner / linkspector
- GitHub Check: Lost Pixel
- GitHub Check: Cloudflare Pages
🔇 Additional comments (1)
content/250-postgres/100-introduction/250-overview.mdx (1)
16-16
: Target verified — /postgres/database/local-development resolves to an existing page.content/250-postgres/300-database/550-local-development.mdx exists and is referenced from multiple docs; repo search shows no broken references.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Nitpick comments (3)
content/200-orm/500-reference/325-prisma-config-reference.mdx (3)
353-355
: Typo: “objedct” → “object”; tighten phrasing and code-formaturl
.-- if you're using `"classic"`, you must specify a `datasource` objedct with a `url` +- if you're using `"classic"`, you must specify a `datasource` object with a `url`
343-364
: Add minimal examples for both engine modes to reduce ambiguity.Concrete snippets here will prevent misconfiguration and cut support questions.
### `engine` Determines whether you want to configure the database connection details via the `datasource` or an `adapter`. | Property | Type | Required | Default | | -------- | ------------------- | -------- | ------- | | `engine` | `"classic" \| "js"` | No | none | Note that: - if you're using `"classic"`, you must specify a `datasource` object with a `url` - if you're using `"js"`, you must provide an `adapter` function + +Examples: + +```ts +// classic (connection string) +export default { + engine: "classic", + datasource: { url: process.env.DATABASE_URL! }, +}; +``` + +```ts +// js (driver adapter) +export default { + engine: "js", + async adapter() { + const { PrismaLibSQL } = await import("@prisma/adapter-libsql"); + const { createClient } = await import("@libsql/client"); + return new PrismaLibSQL(createClient({ url: process.env.LIBSQL_URL! })); + }, +}; +```
423-424
: Grammar: duplicate “how” and missing “you”.-For example, assuming `schema.prisma` defines the `datasource`, here's how how need to place the migrations folder: +For example, assuming `schema.prisma` defines the `datasource`, here's how you need to place the migrations folder:
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
content/200-orm/500-reference/325-prisma-config-reference.mdx
(12 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: runner / linkspector
- GitHub Check: Check internal links
- GitHub Check: Lost Pixel
🔇 Additional comments (1)
content/200-orm/500-reference/325-prisma-config-reference.mdx (1)
112-113
: LGTM on formatting and style changes.Trailing commas, bolded file recommendations, table header tweaks, and “Learn more” links improve consistency and readability.
Also applies to: 147-147, 189-189, 232-232, 290-290, 131-133, 15-15, 30-30, 35-35, 50-50, 70-70, 94-94
adapter: true; | ||
externalTables: true; | ||
studio: true; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix PrismaConfig.experimental types: use boolean, not the literal type true
.
Using true
in a TS type forces the value to only be true
, which conflicts with the Options table (default false
). Replace with boolean
to align with examples and behavior.
experimental: {
- adapter: true;
- externalTables: true;
- studio: true;
+ adapter: boolean;
+ externalTables: boolean;
+ studio: boolean;
};
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
adapter: true; | |
externalTables: true; | |
studio: true; | |
}; | |
experimental: { | |
adapter: boolean; | |
externalTables: boolean; | |
studio: boolean; | |
}; |
🤖 Prompt for AI Agents
In content/200-orm/500-reference/325-prisma-config-reference.mdx around lines 62
to 65, the PrismaConfig.experimental properties are typed as the literal `true`,
which restricts values to only true and conflicts with the documented default of
false; update the type annotations for adapter, externalTables, and studio from
the literal `true` to the primitive `boolean` so they accept true or false and
match the Options table and examples.
// Configuration for Prisma Studio. | ||
studio?: { | ||
adapter: () => Promise<SqlMigrationAwareDriverAdapterFactory>; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make studio.adapter
accept env
in the interface.
The “Configuration interface” shows adapter: () => Promise<...>
but the Options section and example pass (env: Env)
. Align the type.
// Configuration for Prisma Studio.
studio?: {
- adapter: () => Promise<SqlMigrationAwareDriverAdapterFactory>;
+ adapter: (env: Env) => Promise<SqlMigrationAwareDriverAdapterFactory>;
};
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
// Configuration for Prisma Studio. | |
studio?: { | |
adapter: () => Promise<SqlMigrationAwareDriverAdapterFactory>; | |
}; | |
// Configuration for Prisma Studio. | |
studio?: { | |
adapter: (env: Env) => Promise<SqlMigrationAwareDriverAdapterFactory>; | |
}; |
🤖 Prompt for AI Agents
In content/200-orm/500-reference/325-prisma-config-reference.mdx around lines 73
to 76, the Configuration interface declares studio.adapter as a zero-arg
function but the Options section and examples pass an env argument; update the
interface signature so adapter accepts an Env parameter and returns
Promise<SqlMigrationAwareDriverAdapterFactory>, and adjust any surrounding
text/examples to match this typed signature.
// Configuration to specify how the CLI should connect to the DB. | ||
engine: "classic" | "js"; | ||
|
||
// Configuration of your database connection details. | ||
datasource: { | ||
url: string; | ||
shadowDatabaseUrl?: string; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make engine
and datasource
optional and shape datasource
correctly.
Tables say engine
is not required (default: none). Also, datasource
should be optional (required only when engine: "classic"
), but url
stays required when datasource
is present.
- // Configuration to specify how the CLI should connect to the DB.
- engine: "classic" | "js";
+ // How the CLI should connect to the DB.
+ engine?: "classic" | "js";
- // Configuration of your database connection details.
- datasource: {
+ // Database connection details (only when engine === "classic").
+ datasource?: {
url: string;
shadowDatabaseUrl?: string;
};
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
// Configuration to specify how the CLI should connect to the DB. | |
engine: "classic" | "js"; | |
// Configuration of your database connection details. | |
datasource: { | |
url: string; | |
shadowDatabaseUrl?: string; | |
}; | |
// How the CLI should connect to the DB. | |
engine?: "classic" | "js"; | |
// Database connection details (only when engine === "classic"). | |
datasource?: { | |
url: string; | |
shadowDatabaseUrl?: string; | |
}; |
🤖 Prompt for AI Agents
In content/200-orm/500-reference/325-prisma-config-reference.mdx around lines 95
to 102, update the type/docs so that engine is optional and datasource is
optional (only required when engine === "classic"); when datasource is present
its shape should be { url: string; shadowDatabaseUrl?: string } with url
required and shadowDatabaseUrl optional. Adjust the wording and any example type
annotation to mark engine?: "classic" | "js" and datasource?: { url: string;
shadowDatabaseUrl?: string } and note that datasource must be provided if engine
is "classic".
Summary by CodeRabbit