diff --git a/.claude/skills/content-create-hero-image/README.md b/.claude/skills/content-create-hero-image/README.md index b6d5c056fa..f102bd7c03 100644 --- a/.claude/skills/content-create-hero-image/README.md +++ b/.claude/skills/content-create-hero-image/README.md @@ -1,7 +1,10 @@ # Create blog hero & meta images Produces an editable **SVG hero** and a **pixel-exact PNG meta** image for a Prisma blog post in -the Eclipse visual style, using the bundled brand tokens, logos, and fonts. The hero SVG is the +the 2026 Prisma brand, using the bundled brand tokens, logos, and fonts. It is an **editorial +art-direction system**: every cover starts from the article's core message and strongest visual +highlight, which route to a component family (chart, metric, table, code, query, flow, object, +prism, gradient field, type) with one gradient/light treatment — never from "which template". The hero SVG is the source of truth; the PNG is the export, and the meta image is always raster (Open Graph and social cards do not render SVG). @@ -46,7 +49,8 @@ both to a durable path. Covers are a **render → critique → fix** loop. Don't judge the SVG source — judge the raster. Critique with [`references/design-review.md`](references/design-review.md) — a structured pass -(first-impression → 10 categories graded A–F → AI-slop check → worst-first fixes), adapted from +(first-impression → 14 categories graded A–F at full size AND thumbnail size → AI-slop check → +worst-first fixes), adapted from the [gstack `design-review`](https://awesomeskill.ai/skill/gstack-gstack-design-review) skill. Anything below a B is a finding; fix and re-render until every category clears. diff --git a/.claude/skills/content-create-hero-image/SKILL.md b/.claude/skills/content-create-hero-image/SKILL.md index db15223a96..86695e298d 100644 --- a/.claude/skills/content-create-hero-image/SKILL.md +++ b/.claude/skills/content-create-hero-image/SKILL.md @@ -1,9 +1,9 @@ --- name: content-create-hero-image -description: Use when the operator wants a hero or meta image for a Prisma blog post; asks to create or generate a blog hero, cover, social card, Open Graph, or YouTube image; mentions cover art, a blog thumbnail, cover.svg/hero.svg/meta.png; references content-create-hero-image; or wants to interactively design cover imagery in Prisma's 2026 brand (light paper, prism accents, Sora). Produces an editable SVG hero plus a pixel-exact PNG meta image, and includes an interactive mode and a built-in design-review pass. +description: Use when the operator wants a hero or meta image for a Prisma blog post; asks to create or generate a blog hero, cover, social card, Open Graph, or YouTube image; mentions cover art, a blog thumbnail, cover.svg/hero.svg/meta.png; references content-create-hero-image; or wants to interactively design cover imagery in Prisma's 2026 brand (light paper, prism accents, Sora). An editorial art-direction system - each cover is derived from the article's core message and strongest visual highlight, routed to a component family (chart, code, table, flow, object, abstract, type) with one light treatment. Produces an editable SVG hero plus a pixel-exact PNG meta image, and includes an interactive mode and a built-in design-review pass. metadata: author: Prisma - version: "2026.8.11" + version: "2026.8.20" --- # Create blog hero & meta images @@ -25,18 +25,22 @@ Use [`README.md`](README.md) for usage and sample prompts; this `SKILL.md` is th ## References (load on demand) -- [`references/design-system.md`](references/design-system.md) — colors, fonts, layout recipe, the **content-module catalog**, formats, sources. **Read before designing.** +- [`references/design-system.md`](references/design-system.md) — colors, fonts, layout recipe, formats, sources. **Read before designing.** +- [`references/component-library.md`](references/component-library.md) — the content component families (chart, table, code, query, flow, object, prism, field, type), the article→visual routing heuristic, and the world-class-cover calibration. **Read before choosing a visual.** +- [`references/gradient-system.md`](references/gradient-system.md) — the light treatments (wash, bloom, glow, spectrum, edge, beam, mesh, aurora, fade mask) as SVG recipes, plus gradient anti-patterns. - [`references/design-review.md`](references/design-review.md) — structured critique (A–F grades, AI-slop list, fix loop), adapted from the gstack `design-review` skill. **Read before the review pass.** - [`assets/tokens.json`](assets/tokens.json) — machine-readable tokens; the source of truth for hex/font values. - [`references/figma-source.md`](references/figma-source.md) — what `SOCIALS.fig` contains and how it was extracted. - [`references/figma-mcp.md`](references/figma-mcp.md) — **optional**: pull live specs/assets from the Prisma Figma workspace when a Figma MCP is connected. - [`assets/logos/`](assets/logos/) — official Prisma logo/symbol, Prisma 8 mark + lockup, Postgres/Compute icons (`README.md`). - [`assets/fonts/`](assets/fonts/) — bundled brand fonts (Mona Sans, Inter, Geist Mono); used by the scripts. -- [`assets/templates/cover.svg`](assets/templates/cover.svg) — parameterized starting template. +- [`assets/templates/`](assets/templates/) — modular starting families (`editorial`, `chart`, `code`, `table`, `flow`, `object`, `abstract`) sharing canvas/typography/token setup but **not** one composition; `cover.svg` is the legacy general-purpose base. Each carries the reusable primitive defs (wash, bloom, spectrum, beam, fade mask, grain). - [`assets/examples/`](assets/examples/) — worked hero/meta pairs per content module. **Pre-rebrand (dark Eclipse era): study for composition and module structure ONLY — their palette, fonts, and surfaces are retired.** The current quality bar is the newest committed covers in `apps/blog/public/*/imgs/`. - [`assets/hero1.svg`](assets/hero1.svg)–[`hero4.svg`](assets/hero4.svg) — abstract reference heroes, also pre-rebrand; same structure-only caveat. - [`scripts/embed-fonts.py`](scripts/embed-fonts.py) — inline the brand fonts into the SVG as base64 `@font-face`. **Run first.** - [`scripts/export-png.sh`](scripts/export-png.sh) — render the font-embedded SVG to PNG via headless Chrome so the PNG matches the SVG in a browser exactly. **Run second.** +- [`scripts/validate-covers.sh`](scripts/validate-covers.sh) — machine-check dimensions/size/fonts/frontmatter for a slug list or `--all`. +- [`scripts/contact-sheet.sh`](scripts/contact-sheet.sh) — thumbnail contact sheets for batch review. ## Output contract @@ -132,13 +136,38 @@ reconcile `tokens.json` against the live Eclipse variables, sight the current co layout/dimensions, and re-export any stale logos. Read-only — never edit the shared file. If no Figma MCP is connected, skip this; the committed assets are the default. -### 1. Read the blog context +### 1. Read the article and extract its message -Extract: main product, core concept, audience, and intended emotional register (launch / -educational / conceptual / editorial / technical). Given an `index.mdx`, read the frontmatter -(`title`, `metaDescription`, `slug`) and the lead paragraph. Given a `prisma/web` PR URL, fetch -the PR metadata and changed blog files, then design one hero/meta pair per changed post unless the -operator asks for a single combined cover. +The cover is driven by the article, never by a template. Do not start from "which layout?" — +start from "what is the most important idea in this article, and what visual best communicates +it?" Given an `index.mdx`, read the frontmatter and enough of the body to know what the piece +actually shows (code, numbers, architecture, story). Given a `prisma/web` PR URL, fetch the PR +metadata and changed blog files first. + +Write down, before any drawing: + +- **Primary message** — one sentence: *what should the reader understand after reading this?* +- **Core highlight** — one concrete idea from the article that can become the visual focus. + Prefer, in order: a meaningful result → a surprising comparison → a product capability → a + technical mechanism → a meaningful code pattern → an architecture relationship → a memorable + conceptual idea. ("Query latency dropped from X to Y" → a chart with Y emphasized; "one + expensive query causes most reads" → a query row with the read count highlighted; "this + workflow reduces migration to three steps" → a three-stage flow.) +- Never invent numbers, claims, code, or technical details — everything shown must come from + the article or another approved repository source. + +Also extract: main product, audience, and emotional register (launch / educational / +conceptual / editorial / technical). + +### 1b. Derive the cover title (separate from the article title) + +Never place the full blog title on the image by default — the thumbnail renders directly +*beside* the real title, and metadata keeps the real title regardless. If text helps, derive a +short editorial title: **~3–7 words, max two lines**, strong display hierarchy, readable at +social-preview size, and not a marketing claim ("How we improved Prisma Postgres performance +for serverless applications" → `Faster Postgres` / `for serverless`). **If the visual already +communicates the message, no headline is a first-class choice.** Blog frontmatter titles are +never modified to fit a cover. ### 2. Gather inputs — interactive or inferred @@ -176,21 +205,35 @@ produce N separate `hero`/`meta` pairs (`hero-a`, `hero-b`, …) and present the every "must be present" element and the chosen logo/skew/background; creative direction still obeys the anti-patterns and the design-review bar — creative ≠ slop. -### 3. Choose a visual direction - -Decide a concept that's literal-but-elegant, never generic. Pick: surface (light paper default / -ink dark only with a stated reason), product accent, kicker label, the **content module** that fits the content (see -`design-system.md` → _Content modules_: pipeline/flow, data/log panel, terminal, code card, -comparison card), and whether a product lockup belongs in the composition. Anchor every choice in -`design-system.md`. One accent, one idea, strong hierarchy, generous space. - -Before drawing, write a compact design brief for yourself: - -- **Message:** the one sentence the cover must communicate. -- **Metaphor / module:** the concrete visual structure, preferably from the post itself (log, - stream, config file, deploy target, image pipeline, chart, …). -- **Product signal:** the product logo/icon to use, or "Prisma only" if no product owns it. -- **Output path:** the discovered blog asset path, the example path, or the fallback path. +### 3. Design brief — establish before rendering + +Route the highlight to a **component family** via +[`references/component-library.md`](references/component-library.md) (HeroChart, +MetricComponent, ComparisonTable, CodeWindow, QueryPanel, ArchitectureFlow, DatabaseObject, +PrismObject, GradientField, TypeMark) and pick **one** light treatment from +[`references/gradient-system.md`](references/gradient-system.md). Surface is light paper by +default; dark only with a stated reason. Anchor exact values in `design-system.md` / +`tokens.json`. + +Write the brief before drawing — every field, explicitly: + +- **Core message:** the one sentence from step 1. +- **Highlight:** the specific fact, mechanism, result, or idea that becomes visually dominant. +- **Visual metaphor:** the simplest form that communicates it. +- **Component:** which family carries it (chart, table, code, query panel, flow, object, + abstract, type). +- **Product & accent:** the owning product and its canonical prism accent. +- **Gradient:** the single light treatment that reinforces the concept — and what that light + is *doing* (atmosphere, emphasis, movement, material). +- **Headline:** the derived cover title from step 1b, or "none". +- **Empty space:** which area of the canvas stays deliberately open. + +**Composition principles:** one dominant visual element, asymmetrical balance, obvious +hierarchy, large forms, fewer better components — *one idea, one hero, one highlight, plenty +of space*. Component budget: 1 hero component, 0–1 supporting, 1 gradient treatment, 0–1 +kicker, 0–1 headline, 0–1 brand mark. One obvious focal element the viewer finds in under a +second; never competing highlights; never fill space because it exists. Simplicity comes from +editing, not from blandness. ### 4. Select assets @@ -203,11 +246,13 @@ hex/fonts from `tokens.json`; do not introduce off-system colors, fonts, or stoc ### 5. Generate the SVG -Copy `assets/templates/cover.svg` and fill the `{{TOKENS}}`, or hand-compose when the graphic is -the message (e.g. a chart) — keep the layer groups (`background`, `badge`, `headline`, `brand`, -`chart`) so it stays editable. Hand-wrap the title into 1–3 lines (drop title size to 56px if > 30 -chars). Set the eyebrow/badge pill width to roughly `(label length × 14) + 48`. Include the -``/`<desc>` metadata. +Copy the `assets/templates/` family that matches the brief's component (fall back to +`cover.svg`), fill the `{{TOKENS}}`, and replace its placeholder module with the real one — or +hand-compose when the graphic is the message (e.g. a chart). Keep named layer groups +(`background`, `kicker`, `headline`, `module`, `brand`) so it stays editable, and reuse the +primitive defs (`wash-*`, `bloom`, `spectrum`, `beam`, `fadeMask`, `grain`) instead of +duplicating raw gradient stops. Hand-wrap the headline into 1–2 lines. Include the +`<title>`/`<desc>` metadata (the full post title belongs in `<title>`, not on canvas). **Fonts (avoid the #1 off-brand bug):** the brand faces are **Sora** (headings/display, weight 500, emphasis 600 — never 700+), **Inter** (body 400, kicker labels 600), and **Mona Sans Mono** @@ -243,6 +288,19 @@ Tie any header number to the data it labels, and highlight the "live"/current el `<g[^>]*xml:space` and move any hit down onto the individual `<text>` elements. - **Long words don't wrap.** SVG `<text>` has no auto-wrap — hand-split into `<tspan>` lines with explicit `x`/`dy`. +- **A bare `&` makes the whole file unparseable.** An unescaped `&` (in a `<title>`, a label, + anything) turns the render into an XML error page — Chrome writes that error page out as + your PNG. Escape as `&`; likewise `<` → `<`. +- **Chrome ignores `text-decoration-color` in SVG.** A strike-through renders in the text + color no matter where the style sits, so an accent-colored strike silently comes out grey. + Measure the line's ink box (`magick -trim`) and draw an explicit accent `<rect>` instead. +- **Don't nest the lockup group's transform.** The templates wrap the lockup in + `<g id="brand" transform="translate(...)">`; if you paste that wrapper *inside* another + positioned group, the transforms compose and the mark lands mid-canvas at the wrong size. +- **Gradients on straight lines need `gradientUnits="userSpaceOnUse"`.** An objectBoundingBox + gradient (the default) degenerates on a purely horizontal or vertical `<line>`/`<path>` — + the stroke silently renders empty. Every gradient beam sets `userSpaceOnUse` with real + coordinates. - **Centering: avoid `text-anchor="middle"` + `dx`.** For a bold-name + quiet-label pair (e.g. `api` / `Hono`), stack two single-run centered lines on the same `x`. Always **measure** centering against the rendered PNG — never eyeball the source. @@ -266,6 +324,14 @@ old "PNG looks different from the SVG" bug. rsvg/magick are kept only as warned renders at 1x by default; set `SCALE=2` for a supersampled, extra-crisp render. If you edit a committed SVG (fonts already embedded), just re-run `export-png.sh`. +**Gotcha — re-embedding is skipped once `@font-face` exists.** `embed-fonts.py` no-ops on an +SVG that already carries embedded faces, and the embedded faces are **subset to the glyphs the +SVG had at embed time**. So editing coordinates, sizes, or colors after embedding is safe, but +**changing or adding text after embedding silently renders the new glyphs in a fallback +serif** — nothing errors, and it is visible only in the raster. When you change wording after +embedding, rewrite the SVG from its pre-embed source (or strip the `@font-face` block), then +re-run embed → export. + ### 7. Save into the repo Save to a **durable** location, never a temp dir. Resolve in this order: @@ -317,6 +383,23 @@ Insights framed as a GA launch via the kicker dot; one white metric card carries restraint keeps it premium and thumbnail-legible. ``` +## Batch mode (multiple posts) + +When covering many posts in one effort, two extra disciplines apply: + +1. **Plan distribution first.** Route every post (step 3) *before* drawing any, and balance + the family mix — charts, code, tables, flows, typography-led, objects, abstract, query + treatments. No family dominates; adjacent/series posts don't share family + layout. + Cohesion comes from type, color, surfaces, spacing, and restraint — never one composition. +2. **Review the set together.** After individual reviews, build contact sheets + (`scripts/contact-sheet.sh <out> <meta.png>…` — 24 thumbnails per sheet at the 300px + review size) and inspect for: repeated layouts, repeated gradient treatments, covers too + dense, covers that don't reflect their article, weak typography or truncation, thumbnail + illegibility. Revise the weak or repetitive ones, then re-sheet. + +`scripts/validate-covers.sh <blog-app-dir> --all` (or a slug list) machine-checks dimensions, +size budget, embedded fonts, and frontmatter wiring for every cover. + ## Validation — must pass before finalizing Visually inspect the rendered PNG, then verify: @@ -332,6 +415,13 @@ Visually inspect the rendered PNG, then verify: has embedded `@font-face` (ran `embed-fonts.py`). Headlines are Sora **500**, sentence case. - [ ] One accent, one idea. Clear hierarchy; generous negative space. If a graphic is the message, it is centered and uncluttered. +- [ ] The visual represents the article's **primary message**, and the single dominant highlight + is the brief's **core highlight** — no competing highlights, no elements that say nothing + about the article. +- [ ] Exactly **one** gradient/light treatment, and it behaves like light, depth, material, or + data emphasis — not decoration (see `gradient-system.md` anti-patterns). +- [ ] The headline (if any) is the derived cover title (≈3–7 words, ≤2 lines), not the full + article title; the article's frontmatter `title` was not modified to fit the cover. - [ ] Diagram cards sit ≥ 48px off the canvas edge; arrows are full-length; no node is jammed against a wall; every flow ends in a labeled recipient. - [ ] Code/snippet text renders its spaces correctly (multi-`tspan` lines carry @@ -361,6 +451,15 @@ creative and brand traps a checklist can't catch.) filenames, and frontmatter fields from recent posts; the documented standard is a fallback. - **Generic AI look.** Glows everywhere, faux-3D blobs, busy gradients, literal robots. Prisma covers are restrained and typographic. When in doubt, remove an element. +- **The template-generator look.** Random glowing cards, glassmorphism, meaningless UI, tiny + dashboards, fake charts/data/terminal output, decorative floating icons, browser mockups, + giant logos as decoration, everything centered, multiple competing components. Final test: + *would this still feel art-directed with the logo removed, and does any element fail to + communicate something about the article?* Remove what fails. +- **One repeated layout across a batch.** `headline-left + rounded-card-right` for every post + is the failure mode. Across a set of covers keep a healthy distribution of chart, code, + table, flow, typography-led, object, abstract, and query treatments; cohesion comes from + typography, color, surfaces, spacing, and restraint — not identical composition. - **Off-system styling.** Inventing colors, or swapping the Sora + Inter pairing (Mona Sans display, Geist Mono, and Barlow are all retired/off-brand). - **Reaching for the retired look.** The dark teal aurora surface, Mona Sans 800 headlines, diff --git a/.claude/skills/content-create-hero-image/assets/templates/abstract.svg b/.claude/skills/content-create-hero-image/assets/templates/abstract.svg new file mode 100644 index 0000000000..90e9852724 --- /dev/null +++ b/.claude/skills/content-create-hero-image/assets/templates/abstract.svg @@ -0,0 +1,82 @@ +<svg width="1200" height="630" viewBox="0 0 1200 630" fill="none" xmlns="http://www.w3.org/2000/svg"> + <title>{{POST_TITLE}} + GradientField family — atmosphere with one small sharp anchor. {{ONE_LINE_DESCRIPTION}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{KICKER_LABEL}} + + + + + + {{CARD_TITLE}} + {{CARD_SUB}} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.claude/skills/content-create-hero-image/assets/templates/chart.svg b/.claude/skills/content-create-hero-image/assets/templates/chart.svg new file mode 100644 index 0000000000..76b7187e32 --- /dev/null +++ b/.claude/skills/content-create-hero-image/assets/templates/chart.svg @@ -0,0 +1,92 @@ + + {{POST_TITLE}} + HeroChart family — one emphasized series/point, editorial not analytics. {{ONE_LINE_DESCRIPTION}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{KICKER_LABEL}} + + + + + + {{TITLE_LINE_1}}{{TITLE_LINE_2}} + + + + + + + + + + {{HERO_VALUE}} + {{SERIES_LABEL}} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.claude/skills/content-create-hero-image/assets/templates/code.svg b/.claude/skills/content-create-hero-image/assets/templates/code.svg new file mode 100644 index 0000000000..4d9d688be7 --- /dev/null +++ b/.claude/skills/content-create-hero-image/assets/templates/code.svg @@ -0,0 +1,92 @@ + + {{POST_TITLE}} + CodeWindow family — real article code as editorial typography. {{ONE_LINE_DESCRIPTION}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{KICKER_LABEL}} + + + + + {{TITLE_LINE_1}} + + + + + + + + + {{CODE_LINE_1}} + {{CODE_LINE_2}} + {{CODE_LINE_HIGHLIGHT}} + {{CODE_LINE_4}} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.claude/skills/content-create-hero-image/assets/templates/editorial.svg b/.claude/skills/content-create-hero-image/assets/templates/editorial.svg new file mode 100644 index 0000000000..8e0dd9380c --- /dev/null +++ b/.claude/skills/content-create-hero-image/assets/templates/editorial.svg @@ -0,0 +1,82 @@ + + {{POST_TITLE}} + TypeMark / MetricComponent family — typography or one number is the hero. {{ONE_LINE_DESCRIPTION}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{KICKER_LABEL}} + + + + + {{GIANT_GLYPH}} + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.claude/skills/content-create-hero-image/assets/templates/flow.svg b/.claude/skills/content-create-hero-image/assets/templates/flow.svg new file mode 100644 index 0000000000..72060d1547 --- /dev/null +++ b/.claude/skills/content-create-hero-image/assets/templates/flow.svg @@ -0,0 +1,97 @@ + + {{POST_TITLE}} + ArchitectureFlow family — 3-5 nodes, one relationship, one beam. {{ONE_LINE_DESCRIPTION}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{KICKER_LABEL}} + + + + + {{TITLE_LINE_1}} + + + + + + + {{NODE_1}} + {{NODE_1_SUB}} + + + + {{NODE_2_HERO}} + {{NODE_2_SUB}} + + + + {{NODE_3}} + {{NODE_3_SUB}} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.claude/skills/content-create-hero-image/assets/templates/object.svg b/.claude/skills/content-create-hero-image/assets/templates/object.svg new file mode 100644 index 0000000000..c206cbdfdf --- /dev/null +++ b/.claude/skills/content-create-hero-image/assets/templates/object.svg @@ -0,0 +1,93 @@ + + {{POST_TITLE}} + DatabaseObject / PrismObject family — one dimensional hero object, often no copy. {{ONE_LINE_DESCRIPTION}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{KICKER_LABEL}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.claude/skills/content-create-hero-image/assets/templates/table.svg b/.claude/skills/content-create-hero-image/assets/templates/table.svg new file mode 100644 index 0000000000..a1c26c11fa --- /dev/null +++ b/.claude/skills/content-create-hero-image/assets/templates/table.svg @@ -0,0 +1,95 @@ + + {{POST_TITLE}} + ComparisonTable family — 2-4 cols, 3-5 rows, one highlighted row/cell. {{ONE_LINE_DESCRIPTION}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{KICKER_LABEL}} + + + + + {{TITLE_LINE_1}} + + + + + + + {{COL_1}} + {{COL_2}} + + + + {{ROW_1_NAME}} + {{ROW_1_VALUE}} + {{ROW_2_NAME}} + {{ROW_2_VALUE}} + {{ROW_3_NAME}} + {{ROW_3_VALUE}} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.claude/skills/content-create-hero-image/assets/tokens.json b/.claude/skills/content-create-hero-image/assets/tokens.json index 73dd5c4400..55892cf05f 100644 --- a/.claude/skills/content-create-hero-image/assets/tokens.json +++ b/.claude/skills/content-create-hero-image/assets/tokens.json @@ -52,6 +52,12 @@ "$comment": "Optional brand device: 45° diagonal bands in cyan/red/yellow (the logo's anatomy), used as a corner glyph, an edge bleed, or a divider. One motif max; keep it geometric and crisp, never a blurred rainbow.", "angle": 45, "order": ["cyan #01d7e4", "red #f34a60", "yellow #f3c306"] + }, + "gradients": { + "$comment": "Named light treatments — recipes in references/gradient-system.md. ONE treatment per cover (a fadeMask supporting it doesn't count). 'spectrum' is the eclipse --gradient-spectrum brand gradient (85deg); spectrum stops from packages/eclipse globals.css.", + "spectrum": { "angle": 85, "stops": ["#01d7e4", "#f3c306", "#f37a03", "#f43531", "#f00e5c"], "note": "refraction / spectral edge / hero chart line; the live site animates it, covers use one static sweep" }, + "spectrumStops": { "orange": "#f37a03", "scarlet": "#f43531", "pink": "#f00e5c" }, + "treatments": ["spectralWash", "radialBloom", "productGlow", "prismGradient", "spectralEdge", "gradientBeam", "meshField", "auroraBand", "fadeMask"] } }, "fonts": { diff --git a/.claude/skills/content-create-hero-image/references/component-library.md b/.claude/skills/content-create-hero-image/references/component-library.md new file mode 100644 index 0000000000..8d7e9bd1b9 --- /dev/null +++ b/.claude/skills/content-create-hero-image/references/component-library.md @@ -0,0 +1,134 @@ +# Content component library + +The article determines the visual, and one component carries it. This catalog defines the +component families, when each earns the cover, and the routing heuristic. Skins come from +`tokens.json` and `design-system.md`; gradients from `gradient-system.md`; family starting +files in `../assets/templates/`. + +## What world-class covers do (calibration) + +Studied against the strongest developer-brand OG art (Anthropic, OpenAI, Neon, Vercel; +Supabase as the cautionary mixed bag): + +- The best covers carry **one or two elements**, not four. Anthropic ships a single + illustrated symbol on a flat color field, no text. OpenAI ships an atmospheric gradient + with one tiny card. Neon ships one big playful object (a giant "18", a flock of sheep for + autoscaling) and nothing else. Vercel pairs a short sentence-case thesis with one precise + geometric object drawn from the article's literal concept. +- The object is **bespoke to the article's idea** (a cube inside a dashed boundary for "a + sandbox needs a network boundary"), never a generic category icon. +- Nobody screenshots product UI; the weakest covers in the study were the ones that did. +- Dark is the crowd (Vercel, Supabase). **Prisma's light paper is the differentiator — own it.** + +So: the default Prisma stack (kicker + headline + module + lockup) is the *ceiling*, not the +formula. Dropping elements is how covers get stronger. + +## Composition disciplines (every family) + +- **One idea, one hero, one highlight, plenty of space.** One dominant component; the viewer + finds the point in under a second. No competing highlights. +- A normal cover: 1 hero component · 0–1 supporting element · 1 gradient/light treatment · + 0–1 kicker · 0–1 short headline · 0–1 brand mark. Never a mini dashboard. +- Components are **editorial graphics, not analytics software**: oversized type, few rows, + no chrome, no legends that a highlight can replace. +- Everything visible must be true to the article. No fake data, no invented numbers, no + placeholder code presented as real. + +## The families + +### HeroChart — measurable results + +Benchmarks, latency, throughput, usage, comparisons over time. Rules: real article data; +1–2 series; minimal grid (0–2 hairlines); no legend (label the lines directly); simplified +axes; **one emphasized data point or series** — accent stroke or spectral edge, siblings in +`#a5a5a6`/`#e5e5e4`; restrained gradient fill under the hero series only (accent → 0 +opacity). The chart should feel like a magazine graphic. Template: `chart.svg`. + +### MetricComponent — one strong number + +When the article has one trustworthy numerical result. A giant Sora 600 value (140–220px) +with a short Inter label; optionally a quiet before-value struck beside it. No KPI-card +grid, no gauge. The number IS the composition. Template: `editorial.svg` (numeral variant). + +### ComparisonTable — X vs Y + +Product comparisons, before/after, feature differences, migration deltas. 2–4 columns × +3–5 rows, large readable type (≥20px cells), highlight exactly one row/column/cell (accent +tint fill or spectral edge). Simplify aggressively; never reproduce a production table. +Template: `table.svg`. + +### CodeWindow — code is the story + +Schema, config, API shapes, migration commands, queries. ~4–8 lines of **real article +code**, readable at thumbnail scale (≥19px mono); ink card, filename tab optional, no fake +editor chrome; **one highlighted line or token** (accent text or a tinted line-bar), 2–3 +syntax tints max from the prism ramps. Treat code as typography. Template: `code.svg`. + +### QueryPanel — observability & query cost + +Query Insights, database performance, reads, latency. Show only what makes the point: a +query fragment + 1–2 metrics, with **one number dominating** (e.g. `SELECT …` · `42 ms` · +`12.4k reads`). An abstracted row, not a dashboard recreation. Template: `chart.svg` or +`code.svg` (panel variant). + +### ArchitectureFlow — systems & movement + +Connection pooling, request flow, branching, caching, deployment, pipelines. 3–5 nodes, +one clear relationship, labels grounded in the article, large legible geometry, simple +connectors, **one gradient beam** on the hero edge when movement is the point. Flows stay +flat (no isometric skew). Avoid dense diagrams. Template: `flow.svg`. + +### DatabaseObject — the database as an object + +Prisma Postgres, storage, branching, data architecture. A dimensional but abstract volume: +layered elliptical planes, a stacked-plane cylinder, split/branching volumes — geometric +SVG with light (radial bloom behind, spectral edge on one rim), not blue clip art and not +a literal cylinder icon. Can carry a no-copy cover alone. Template: `object.svg`. + +### PrismObject — the brand as material + +Announcements, identity moments, conceptual posts. A translucent wedge/refracting plane/ +prism edge that **splits light into the three prism colors** — the logo's anatomy as +physics. Use where refraction genuinely maps to the idea (one input → many outputs, one +schema → many clients); never mechanically added. Template: `object.svg` (prism variant). + +### GradientField — atmosphere-led + +Launches and abstract topics where mood is the message. A mesh/aurora/bloom field +(`gradient-system.md`) covering the canvas with **one small sharp element** holding focus — +a short headline, a tiny card, the lockup. The OpenAI lesson: this only works when the +canvas is otherwise nearly empty. Template: `abstract.svg`. + +### TypeMark — typography or a numeral as the hero + +Version releases, one-word concepts, editorial essays. A giant Sora glyph/numeral/word +(180–320px) with one treatment: prism-gradient fill on a single character, a spectral edge +underline, or an ink word with one accent word. Nothing else but the kicker + lockup. +Template: `editorial.svg`. + +## Routing heuristic (starting point, not a lookup table) + +| Article signal | First candidates | +| --- | --- | +| benchmark / perf numbers | HeroChart · MetricComponent | +| comparison ("vs", pricing) | ComparisonTable | +| tutorial / how-to | CodeWindow · ArchitectureFlow | +| schema / modeling | CodeWindow · relationship diagram | +| architecture / infra | ArchitectureFlow · DatabaseObject | +| Prisma Postgres | DatabaseObject · HeroChart | +| ORM | CodeWindow · TypeMark | +| Compute / deploy | ArchitectureFlow · DatabaseObject | +| observability | QueryPanel · HeroChart | +| release / announcement | TypeMark · PrismObject · GradientField | +| conceptual / essay | TypeMark · GradientField · abstract geometry | +| customer story | MetricComponent · the story's concrete mechanism | + +**The article's actual message always outranks the table.** If the strongest idea in a +tutorial is a 10× number, route to MetricComponent. + +## Distribution (batch work) + +When producing covers across many posts, keep the archive varied: no family should +dominate, and adjacent posts (same tag, same series) should not share a family + layout. +Track family counts across the batch; if `headline-left + card-right` starts repeating, +convert candidates to no-copy object-led, TypeMark, or atmosphere-led covers. diff --git a/.claude/skills/content-create-hero-image/references/design-review.md b/.claude/skills/content-create-hero-image/references/design-review.md index d5399fd366..a448ac78f9 100644 --- a/.claude/skills/content-create-hero-image/references/design-review.md +++ b/.claude/skills/content-create-hero-image/references/design-review.md @@ -19,21 +19,29 @@ cover. Critique the **rendered PNG**, not the SVG source — most defects are in ## Audit: grade each category A–F +Review at two sizes, always: the full 1200×630 raster AND a ~300px-wide thumbnail (the blog +grid renders covers ~400px wide beside the post's real title, cropped to ~16:9). A cover that +only works at full size fails. + Start with a **first-impression gut reaction** (one honest sentence, before analysis: does it look premium, or does it look like AI filler?). Then grade: | # | Category | What to check | | -- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 1 | **Hierarchy & focal point** | One clear focal point; eye lands where intended; eyebrow → headline → support → graphic order reads cleanly. | -| 2 | **Typography** | Mona Sans (display) / Inter (body) / Geist Mono (data) only — never Barlow or a fallback sans. Emphasis via colour or size, never random weights. Title hand-wrapped, not overflowing. | -| 3 | **Colour & contrast** | Only `tokens.json` values. Text passes a squint legibility test on the dark surface. One accent (teal/indigo), not a rainbow. | +| 2 | **Typography** | Sora 500 (display) / Inter (body, 600 kicker) / Mona Sans Mono (data) only — never Mona Sans display, Geist Mono, Barlow, or a fallback sans. Emphasis via colour or size, never weight. Headline is the short derived cover title (≤2 lines), hand-wrapped, not the article title restated. | +| 3 | **Colour & contrast** | Only `tokens.json` values. Text passes a squint legibility test on its surface. One prism accent (cyan/yellow/red by product), not a rainbow. | | 4 | **Spacing & alignment** | Even canvas margins; elements share a grid; consistent padding inside cards; nothing kissing an edge. | | 5 | **Composition & balance** | Left-anchored headline with right-side breathing room (or a single centred graphic). Diagram cards sit ≥ 48px off the canvas edge. Visual weight balanced L↔R. | -| 6 | **Metaphor clarity** | The diagram tells one true story; arrows connect real nodes; every flow ends in a labelled recipient; header numbers match the data they label. | +| 6 | **Message fidelity** | The visual clearly represents the article's primary message; the chosen component (chart/code/table/object/diagram) genuinely relates to the article; the diagram tells one true story; arrows connect real nodes; every flow ends in a labelled recipient. | | 7 | **Render fidelity** | No stripped whitespace in code (`xml:space="preserve"`), no missing-glyph boxes, no fallback fonts, no text overflow or clipping, no overlapping nodes. | -| 8 | **Thumbnail legibility** | Still readable shrunk to ~200px wide (the real feed/SERP size). Squint: headline + metaphor survive. | -| 9 | **Brand correctness** | Logos intentional, correctly coloured, not stretched, not wallpaper; no `prisma.io/blog` on canvas; product accent correct (Postgres = teal, ORM = indigo, Compute/Next = platform teal). | +| 8 | **Thumbnail legibility** | Still readable at ~300px wide (grid/feed size). Squint: the focal point and any headline survive; the highlight is still findable. | +| 9 | **Brand correctness** | Logos intentional, correctly coloured, not stretched, not wallpaper; no `prisma.io/blog` on canvas; product accent correct (ORM/Prisma 8 = prism cyan, Postgres = prism yellow, Compute = prism red). | | 10 | **AI-slop check** | None of the anti-patterns below. | +| 11 | **Highlight discipline** | Exactly one dominant highlight, identifiable in <1s; negative space is deliberate; no element that says nothing about the article. | +| 12 | **Gradient quality** | At most one light treatment, behaving as light/depth/material/data emphasis (`gradient-system.md`) — never decoration; nameable purpose. | +| 13 | **Accuracy** | Every visible number, label, claim, query, and code line is grounded in the source article — nothing invented. | +| 14 | **Editorial quality** | Would still feel intentionally art-directed with the Prisma logo removed; does not read as a generic generated SaaS card or template output. | A cover ships at **B or better in every category** — no C-or-lower anywhere. diff --git a/.claude/skills/content-create-hero-image/references/design-system.md b/.claude/skills/content-create-hero-image/references/design-system.md index 70287238c9..892b815238 100644 --- a/.claude/skills/content-create-hero-image/references/design-system.md +++ b/.claude/skills/content-create-hero-image/references/design-system.md @@ -92,7 +92,10 @@ Always embed before exporting or sharing. ## Layout (canonical 1200×630) - Uniform **72px** padding; nothing touches the canvas edge. -- **Kicker** top-left: accent dot (9px) + sentence-case Inter 600 label (~17px). No dash, no caps. +- **Kicker** top-left: accent dot + sentence-case Inter 600 label — the site's `RoleKicker` + treatment (`apps/site/src/components/brand/role-kicker.tsx`: color lives in the dot, label + stays ink at 70%). At cover scale: ≥5.5px dot, ≥20px label — or omit it. No dash, no caps, + no pill container. - **Headline** below: Sora 500, ~56–68px, 1–3 hand-wrapped lines, ink. Emphasis inside a headline is the accent color (deep variant if the phrase is small), not a weight change. - Optional **one-line subtitle**: Inter 400 ~26px, `#646567`. @@ -104,7 +107,11 @@ Always embed before exporting or sharing. - ≥ 48px between any card and the canvas edge; ≥ 40px between sibling tiles; ≥ 24px padding inside cards; ≥ 28px between stacked rows. Verify on the rendered PNG, by measurement. -### Shared anatomy (every cover) +### Shared anatomy (the default stack — not a law) + +The five-part stack below is the *ceiling*, not the formula: the strongest covers often drop +to two or three parts (a no-copy object + lockup; an atmosphere + one small card; a giant +numeral + kicker). Drop elements before adding any. 1. **Surface** — white/paper + grain, usually a spectral wash on one edge. Never the old dark aurora; never a flat grey. @@ -116,7 +123,12 @@ Always embed before exporting or sharing. ### Content modules (pick one per cover) -The module *structures* survive the rebrand; their *skin* is new. Reskin rules: +**The full component catalog and the article→visual routing live in +[`component-library.md`](component-library.md)** — families: HeroChart, MetricComponent, +ComparisonTable, CodeWindow, QueryPanel, ArchitectureFlow, DatabaseObject, PrismObject, +GradientField, TypeMark. Gradient/light recipes live in +[`gradient-system.md`](gradient-system.md). The table below defines the house *skin* the +classic modules take on the light surface: | Module | When | New-brand skin | | -------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | diff --git a/.claude/skills/content-create-hero-image/references/gradient-system.md b/.claude/skills/content-create-hero-image/references/gradient-system.md new file mode 100644 index 0000000000..786d2837e6 --- /dev/null +++ b/.claude/skills/content-create-hero-image/references/gradient-system.md @@ -0,0 +1,149 @@ +# Gradient & light system + +Gradients are encouraged — as **light, atmosphere, material, hierarchy, or data emphasis**. +The anti-pattern was never "gradient"; it is *generic gradient decoration with no purpose*. +Every treatment below is a plain-SVG recipe using `tokens.json` values only. Pick **one** +treatment per cover (a fade mask supporting it does not count as a second). + +Ask before adding any gradient: *what is this light doing?* If the answer is "filling space", +delete it. + +## The treatments + +### 1. Spectral wash (house default) + +Two–three soft radial pools of the prism colors dissolving into the paper along one edge. +Atmosphere behind the hero element; keep type on calm areas. This is the baseline from +`templates/` — reposition the pools per cover, don't ship the default placement unexamined. + +```svg + + + + + +``` + +### 2. Radial bloom + +**One** soft light source placed *behind the hero element* — the module appears lit, not +decorated. Use when a single card/object/metric needs quiet emphasis. One bloom max. + +```svg + + + + + +``` + +### 3. Product glow + +The cover's accent fading softly out of one region of the surface — a directional tint rather +than a centered bloom. Good for grounding a composition in its product without a wash. + +```svg + + + + +``` + +### 4. Prism / spectrum gradient + +Refracted light — the Prisma identity as physics. Two canonical forms, don't mix them up: + +- **Spectrum** (the brand gradient, eclipse `--gradient-spectrum`, ~85°): + cyan → yellow → orange → scarlet → pink. Use for refraction, spectral edges, gradient + text (rare), a chart's hero line. +- **Prism stripe** (the logo's anatomy): three crisp 45° bands cyan / red / yellow + (`#01d7e4`, `#f34a60`, `#f3c306`). Geometric motif, never blurred. + +```svg + + + + + + + +``` + +Use on a beam, an edge, a chart line, or a dimensional object's face — crisp direction, +never a blurred rainbow field. + +### 5. Spectral edge + +A narrow iridescent edge (2–4px) on one meaningful boundary: a card top, a divider, a prism +face, a highlighted table row, the stroke of a chart's hero series. The smallest way to make +one element "the" element. + +```svg + +``` + +### 6. Gradient beam + +A stroke that carries light along a path — for movement: requests, connections, data flow, +propagation. One beam, on the flow's *hero* edge; sibling connectors stay hairline neutral. + +```svg + + + + + + +``` + +`gradientUnits="userSpaceOnUse"` is mandatory on beams: an objectBoundingBox gradient +degenerates to invisible on a purely horizontal or vertical line. + +### 7. Mesh field + +Large, low-contrast overlapping color fields for ambient depth behind one hero visual — +an evolved wash for conceptual/announcement covers. 2–3 offset radials in *one* accent's +ramp plus at most one neighbor prism at lower opacity. Low contrast: nothing above ~0.24. + +### 8. Aurora band + +One soft flowing band (a wide blurred path, not the whole sky). Sparingly, for genuinely +atmospheric conceptual covers. Draw a curved path, `stroke-width` 120–200, accent at +0.14–0.2 opacity, `feGaussianBlur stdDeviation="40–60"`. Never neon, never more than one. + +### Fade mask (supporting, always allowed) + +Dissolve any treatment into the paper so effects end on purpose, not at a hard edge: + +```svg + + + + + + +``` + +## Dark-cover variants + +Same recipes on ink `#151515`; raise stop opacities ~1.3× so the light reads, and prefer the +400-level accent values (they carry on dark). + +## Anti-patterns (auto-fail) + +- Giant blue-purple startup gradients, or any hue outside the prism ramps. +- Rainbow backgrounds with no refraction concept behind them. +- Glow on every object; multiple neon blobs; more than one bloom. +- Gradient text as a default (reserve for at most one word, rarely). +- Multiple border beams / spectral edges competing. +- A gradient nobody can name the purpose of ("it looked empty"). + +## Render notes + +- Large soft gradients + grain inflate PNG size; if `meta.png` overshoots ~700 KB, drop a + redundant wash layer or lower grain opacity before re-exporting. +- `feGaussianBlur` over big areas is fine in Chrome export but check the raster for banding; + add the grain layer *above* washes to break banding up. +- Reference libraries (Magic UI border-beam/shine, Aceternity aurora/spotlight, React Bits + fields) are *idea* sources — reproduce the effect with these SVG recipes; never import + their default neon-on-black identity, and never add runtime dependencies for a static cover. diff --git a/.claude/skills/content-create-hero-image/scripts/contact-sheet.sh b/.claude/skills/content-create-hero-image/scripts/contact-sheet.sh new file mode 100755 index 0000000000..f53ea72d9b --- /dev/null +++ b/.claude/skills/content-create-hero-image/scripts/contact-sheet.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# Build contact sheets from rendered meta.png covers for batch design review. +# +# Usage: contact-sheet.sh [ ...] +# Emits /sheet-NN.png, 24 covers per sheet (6x4), each 300px wide — +# the thumbnail size the review must pass at. Inspect every sheet for repeated +# layouts, repeated gradients, density, and thumbnail legibility. +set -euo pipefail +OUT="${1:?out dir required}"; shift +mkdir -p "$OUT" +i=0; page=0; batch=() +flush() { + [ ${#batch[@]} -eq 0 ] && return + page=$((page+1)) + magick montage "${batch[@]}" -tile 6x -geometry 300x158+6+6 -background '#d8d8d8' \ + "$OUT/$(printf 'sheet-%02d.png' "$page")" + batch=() +} +for f in "$@"; do + batch+=("$f"); i=$((i+1)) + [ $((i % 24)) -eq 0 ] && flush +done +flush +echo "wrote $page sheet(s) to $OUT" diff --git a/.claude/skills/content-create-hero-image/scripts/embed-fonts.py b/.claude/skills/content-create-hero-image/scripts/embed-fonts.py index 7b845911c1..530f680e0c 100644 --- a/.claude/skills/content-create-hero-image/scripts/embed-fonts.py +++ b/.claude/skills/content-create-hero-image/scripts/embed-fonts.py @@ -46,10 +46,23 @@ def find_fonts_dir(explicit: str | None) -> Path: def used_chars(svg: str) -> str: - # collect text inside /, ignore markup; add a safe punctuation set + # Collect every character that will be rendered, then add a safe punctuation set. + # + # Flatten nested s FIRST. Matching `([^<]*)10M+`, or every tinted code run. Those glyphs then fall + # out of the subset and Chrome silently renders that run in a fallback serif, visible + # only in the exported raster. + flattened = re.sub(r"]*>", "", svg) chars = set("0123456789%,/.()-:· ") - for m in re.findall(r"<(?:text|tspan)[^>]*>([^<]*)]*>(.*?)", flattened, re.S): + chars.update(re.sub(r"<[^>]*>", "", m)) + # Decode the XML entities that reach the renderer as real glyphs. + for entity, ch in (("&", "&"), ("<", "<"), (">", ">"), (""", '"'), ("'", "'")): + if entity in svg: + chars.add(ch) + chars.discard("\n") + chars.discard("\t") return "".join(sorted(chars)) diff --git a/.claude/skills/content-create-hero-image/scripts/validate-covers.sh b/.claude/skills/content-create-hero-image/scripts/validate-covers.sh new file mode 100755 index 0000000000..7cdff1d7a4 --- /dev/null +++ b/.claude/skills/content-create-hero-image/scripts/validate-covers.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Validate a set of rendered covers: dimensions, size budget, embedded fonts, frontmatter wiring. +# +# Usage: +# validate-covers.sh [ ...] +# validate-covers.sh --all # every slug in content/blog +# +# Checks per slug: +# - public//imgs/hero.svg exists, declares viewBox 0 0 1200 630, has embedded @font-face +# - public//imgs/meta.png exists, is exactly 1200x630, under 1 MB +# - content/blog//index.mdx frontmatter points at //imgs/hero.svg and meta.png +set -uo pipefail + +BLOG="${1:?blog app dir required (e.g. apps/blog)}"; shift +if [ "${1:-}" = "--all" ]; then + SLUGS=$(ls "$BLOG/content/blog") +else + SLUGS="$*" +fi + +fail=0 +for slug in $SLUGS; do + dir="$BLOG/public/$slug/imgs" + mdx="$BLOG/content/blog/$slug/index.mdx" + err="" + if [ ! -f "$dir/hero.svg" ]; then err="$err no-hero-svg"; else + grep -q 'viewBox="0 0 1200 630"' "$dir/hero.svg" || err="$err bad-viewbox" + grep -q '@font-face' "$dir/hero.svg" || err="$err fonts-not-embedded" + fi + if [ ! -f "$dir/meta.png" ]; then err="$err no-meta-png"; else + dim=$(magick identify -format '%wx%h' "$dir/meta.png" 2>/dev/null) + [ "$dim" = "1200x630" ] || err="$err meta-dim=$dim" + sz=$(stat -f%z "$dir/meta.png" 2>/dev/null || stat -c%s "$dir/meta.png") + [ "$sz" -lt 1048576 ] || err="$err meta-size=$sz" + fi + if [ -f "$mdx" ]; then + grep -q "heroImagePath: \"/$slug/imgs/hero.svg\"" "$mdx" || err="$err frontmatter-hero" + grep -q "metaImagePath: \"/$slug/imgs/meta.png\"" "$mdx" || err="$err frontmatter-meta" + fi + if [ -n "$err" ]; then echo "FAIL $slug:$err"; fail=1; fi +done +[ "$fail" = 0 ] && echo "all covers valid" +exit $fail diff --git a/apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx b/apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx index 0c63570311..159c8f81b9 100644 --- a/apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx +++ b/apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "About MCP Servers & How We Built One for Prisma" metaDescription: "Learn what MCP servers are and how Prisma built its MCP server, from tool access concepts to remote server architecture and practical implementation details." -metaImagePath: "/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta-c7ef9462464563ecc68ddf667e18dbef71f9f4fd-1266x711.png" -heroImagePath: "/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero-af7a5b40501028b64219b2144f7b5c03723c4d99-844x474.svg" +metaImagePath: "/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png" +heroImagePath: "/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg" +heroImageAlt: "A flow diagram in which Cursor, Windsurf and Claude all connect to a single prisma mcp server, which in turn runs Prisma CLI commands." tags: - "education" - "orm" diff --git a/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx b/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx index 12df3fbd84..3dcb7f105b 100644 --- a/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx +++ b/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx @@ -6,9 +6,9 @@ authors: - "Sam Bhatti" metaTitle: "Prisma Accelerate now in General Availability" metaDescription: "Supercharge your applications with Prisma Accelerate's scalable connection pooling and global edge caching. Plus, enjoy our exclusive launch offer." -metaImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta-42554fa75736c00b0ca55e1e440dde26f43dcb3f-1266x711.png" -heroImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero-de83f5f843f2a86abd05659c94c3069e7577a0f5-844x474.svg" -heroImageAlt: "Prisma Accelerate now in General Availability" +metaImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png" +heroImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg" +heroImageAlt: "The number 280+ above the labels cache locations worldwide and 16 connection pooling regions, the reach of Prisma Accelerate at general availability." tags: - "announcement" - "platform" diff --git a/apps/blog/content/blog/accelerate-ipv6-first/index.mdx b/apps/blog/content/blog/accelerate-ipv6-first/index.mdx index 14ce808005..8014530f76 100644 --- a/apps/blog/content/blog/accelerate-ipv6-first/index.mdx +++ b/apps/blog/content/blog/accelerate-ipv6-first/index.mdx @@ -6,8 +6,9 @@ authors: - "Tyler Benfield" metaTitle: "We Transitioned Prisma Accelerate to IPv6 Without Anyone Noticing" metaDescription: "In July 2023, AWS announced the decision to begin charging for IPv4 addresses beginning in February 2024. This move had a major impact on Prisma Accelerate for reasons we’ll get into, prompting us to go all-in on IPv6. Join us for a deep dive into how we approached our IPv6 migration, lessons learned, and the outcome for users of Prisma Accelerate." -metaImagePath: "/accelerate-ipv6-first/imgs/meta-b5bac6d735ee17d003b0a06190a5fa5c0e3fcc15-1266x713.png" -heroImagePath: "/accelerate-ipv6-first/imgs/hero-248d5719caeee73ee2c7f94a7d194de949af1524-844x475.svg" +metaImagePath: "/accelerate-ipv6-first/imgs/meta.png" +heroImagePath: "/accelerate-ipv6-first/imgs/hero.svg" +heroImageAlt: "The figure $3.60 set in large type above the label: per public IPv4 address, per month, the AWS charge that pushed Prisma Accelerate to an IPv6-first architecture." tags: - "platform" --- diff --git a/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx b/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx index 5e735a2310..9d25717f0b 100644 --- a/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx +++ b/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Accelerate in Preview: Global Database Cache & Scalable Connection Pool" metaDescription: "Accelerate is going into Preview! Learn how to enable high-speed, scalable applications with a global cache and connection pooler." -metaImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/meta-3a75c0ed5f8837980765d5b7589367216653d6b7-1266x711.png" -heroImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/hero-587aeef34568af2258cd4e5f0453710b0b94259c-844x474.svg" -heroImageAlt: "Accelerate in Preview" +metaImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/meta.png" +heroImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/hero.svg" +heroImageAlt: "A diagram routing an app through a Prisma Accelerate card listing a global cache in 300 locations and a connection pool in 16 regions, on to the database." tags: - "announcement" - "platform" diff --git a/apps/blog/content/blog/accelerate-static-ip-support/index.mdx b/apps/blog/content/blog/accelerate-static-ip-support/index.mdx index 9c5684e317..33e71e9e8a 100644 --- a/apps/blog/content/blog/accelerate-static-ip-support/index.mdx +++ b/apps/blog/content/blog/accelerate-static-ip-support/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Increase Database Security With Static IP Support in Prisma Accelerate" metaDescription: "Prisma Accelerate now supports Static IPs, ensuring secure database connections with predictable IPs for controlled access." -metaImagePath: "/accelerate-static-ip-support/imgs/meta-9a5f27696242c051a689abed3d4b7099a8145301-1200x674.png" -heroImagePath: "/accelerate-static-ip-support/imgs/hero-06da453a2597f2571d34972ec912ad3c32f37ba6-844x474.svg" -heroImageAlt: "Enable Static IP in Prisma Accelerate" +metaImagePath: "/accelerate-static-ip-support/imgs/meta.png" +heroImagePath: "/accelerate-static-ip-support/imgs/hero.svg" +heroImageAlt: "A comparison of dynamic and static IPs across address, firewall allowlist and database access, with the static IP column highlighted in a yellow panel." tags: - "announcement" - "platform" diff --git a/apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx b/apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx index 3fd4e993ec..e80471051a 100644 --- a/apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx +++ b/apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx @@ -7,8 +7,9 @@ authors: - "Nikolas Burk" metaTitle: "Advanced Schema Management with Atlas & Prisma ORM" metaDescription: "Use Atlas with Prisma ORM 7 for advanced schema management: CI/CD linting, schema monitoring, versioning, and low-level features like views and triggers." -metaImagePath: "/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta-862a4191726cfb1bcc2e53bc83e377e1af47cd5d-1200x675.png" -heroImagePath: "/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero-6ad0def91299fbf2a745f528d83a194350d0ee74-844x475.svg" +metaImagePath: "/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png" +heroImagePath: "/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg" +heroImageAlt: "A diagram where prisma/schema.prisma and published_posts_index.sql both feed an 'atlas migrate diff' composite schema card, which writes to the atlas/migrations directory." tags: - "orm" - "education" diff --git a/apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx b/apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx index f156abfae3..ad4c2a05dd 100644 --- a/apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx +++ b/apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "All you need to know about Apollo Client 2 | Prisma" metaDescription: "Learn about Apollo Client 2.0, including Apollo Link, local state management, cache updates, and the biggest changes from earlier Apollo Client releases." -metaImagePath: "/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero-ebd9548e6d9cfb33c4e35eac48e11a80532a8d30-1440x960.jpg" -heroImagePath: "/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero-ebd9548e6d9cfb33c4e35eac48e11a80532a8d30-1440x960.jpg" -heroImageAlt: "All you need to know about Apollo Client 2" +metaImagePath: "/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png" +heroImagePath: "/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg" +heroImageAlt: "A comparison card showing the single react-apollo dependency of Apollo Client 1.x beside the four packages an Apollo Client 2.0 setup imports." --- Apollo Client, a powerful and flexible GraphQL client library, just reached version 2.0. In this post, we want to diff --git a/apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx b/apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx index 7f5b07b157..1c47ab506a 100644 --- a/apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx +++ b/apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx @@ -7,9 +7,9 @@ authors: - "Nikolas Burk" metaTitle: "Announcing the Prisma Ambassador Program — Building A Community of Experts" metaDescription: "We are thrilled to announce the launch of the Ambassador Program to empower the Prisma community, while also helping individual contributors build their own brand." -metaImagePath: "/ambassador-program-nxkWGcGNuvFx/imgs/meta-de28b5e0df55c52078065ee2ae0b44d6cdf0da1e-1692x852.png" -heroImagePath: "/ambassador-program-nxkWGcGNuvFx/imgs/hero-1bdf6237d95ded8d448f28db203012147fdcd39e-846x426.png" -heroImageAlt: "Prisma Ambassador Program — Building A Community of Experts" +metaImagePath: "/ambassador-program-nxkWGcGNuvFx/imgs/meta.png" +heroImagePath: "/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg" +heroImageAlt: "The word Ambassadors set large on paper, underlined by the Prisma spectrum gradient, above the line: open to Prisma community contributors." tags: - "announcement" --- diff --git a/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx b/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx index ed15579046..8ebad15fb6 100644 --- a/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx +++ b/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Emerich" metaTitle: "How Prisma helps Amplication evolutionize backend development" metaDescription: "How Prisma helps Amplication evolutionize backend development" -metaImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/meta-4baa84e48a0da8e13e23367137d5a17515119aaf-2881x1620.png" -heroImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/hero-b1fb9ec0c8fca054011688621bfe51ea1836af10-844x474.svg" -heroImageAlt: "How Prisma helps Amplication evolutionize backend development" +metaImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png" +heroImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg" +heroImageAlt: "A pull quote reading Prisma was a really good bet, attributed to Yuval Hazaz, CEO at Amplication, above the stack Amplication ships in every generated app." tags: - "case-study" --- diff --git a/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx b/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx index fd110547f9..dcf050b4e3 100644 --- a/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx +++ b/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx @@ -6,9 +6,9 @@ authors: - "Andrew Carlson" metaTitle: "Prisma | Introducing Accelerate in Early Access" metaDescription: "Query up to 1000x faster on any Prisma-supported database with our new distributed cache and scalable connection pool for Serverless apps." -metaImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/meta-25afee16878423e24c7aff2bb3fe49a433996d03-1200x631.png" -heroImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/hero-9c6258461d73719cebc60136dd4e976d79306dcb-845x475.png" -heroImageAlt: "Introducing Accelerate in Early Access" +metaImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png" +heroImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg" +heroImageAlt: "The figure \"1000×\" set very large in ink with the multiplication sign in prism cyan, reading \"Up to 1000× faster queries, latency as low as 5 ms\", over a spectral wash in the bottom-right corner." tags: - "announcement" - "platform" diff --git a/apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx b/apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx index 1db851102c..59f0b19334 100644 --- a/apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx +++ b/apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx @@ -6,9 +6,9 @@ authors: - "Jon Harrell" metaTitle: "Building on an Established Community: Prisma Now on Discord" metaDescription: "Prisma is excited to expand the established Prisma Community Discord and further collaborate with the Prisma community." -metaImagePath: "/announcing-discord-1LiAOpS7lxV9/imgs/meta-388b596e6a40f7eeaf42604a4645c93dd051af6a-1267x712.png" -heroImagePath: "/announcing-discord-1LiAOpS7lxV9/imgs/hero-7ae00282956a1f6a68f815b4cffee5ee1b1ce934-844x474.svg" -heroImageAlt: "Prisma Now on Discord" +metaImagePath: "/announcing-discord-1LiAOpS7lxV9/imgs/meta.png" +heroImagePath: "/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg" +heroImageAlt: "Two chat bubbles side by side: the Prisma Slack community with over 50,000 members, and the community-built Discord server Prisma has officially adopted." tags: - "announcement" --- diff --git a/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx b/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx index 345bd6f36e..e2067fe4a3 100644 --- a/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx +++ b/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "On-Demand Cache Invalidation Now Available in Prisma Accelerate" metaDescription: "Boost app performance with precise control using Prisma's on-demand cache invalidation." -metaImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta-40c9facc0c25985278c069ade326008e14baef9a-1266x711.png" -heroImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero-4100fa47bccf0620564331dda7e0c65bcd069ef2-844x474.svg" -heroImageAlt: "Prisma Accelerate's cache invalidation API in a code block" +metaImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png" +heroImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg" +heroImageAlt: "A two-row card on light paper comparing a cached query that expires on a ttl timer with the $accelerate.invalidate call that refreshes tagged results on demand." tags: - "platform" - "announcement" diff --git a/apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx b/apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx index d478344b68..2544bf1163 100644 --- a/apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Announcing Prisma 2: Confidence and productivity for your database" metaDescription: "Prisma 2 introduced a type-safe database client and declarative migrations to make working with databases in Node.js and TypeScript faster and more reliable." -metaImagePath: "/announcing-prisma-2-n0v98rzc8br1/imgs/hero-11436ec45c7ccbc812212d1d6d7c8794d9514f2f-1692x852.jpg" -heroImagePath: "/announcing-prisma-2-n0v98rzc8br1/imgs/hero-11436ec45c7ccbc812212d1d6d7c8794d9514f2f-1692x852.jpg" -heroImageAlt: " Ombre Prisma" +metaImagePath: "/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png" +heroImagePath: "/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg" +heroImageAlt: "A giant 2.0 set in Sora, its zero filled with the Prisma spectrum gradient, beside the line Prisma Client is now generally available." --- Accessing databases in Node.js and TypeScript can feel brittle and painful. Prisma removes the pain with an auto-generated and type-safe query builder that's tailored to your data! [Try it out!](https://www.prisma.io/docs/getting-started/quickstart) diff --git a/apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx b/apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx index fb309216b6..1cadd0440a 100644 --- a/apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Type-safe Database Access & Declarative Migrations | Prisma 2 Preview" metaDescription: "Prisma 2 Preview introduced a type-safe database client and declarative migrations to modernize database workflows for application developers." -metaImagePath: "/announcing-prisma-2-zq1s745db8i5/imgs/hero-34a26858c7de3cad0d84a376d12b58b82ee10da0-1200x630.png" -heroImagePath: "/announcing-prisma-2-zq1s745db8i5/imgs/hero-34a26858c7de3cad0d84a376d12b58b82ee10da0-1200x630.png" -heroImageAlt: "Prisma 2 Preview: Type-safe Database Access & Declarative Migrations" +metaImagePath: "/announcing-prisma-2-zq1s745db8i5/imgs/meta.png" +heroImagePath: "/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg" +heroImageAlt: "An ink code card on light paper showing a Photon query from src/script.ts that returns a typed Post array, with the Post[] type highlighted in cyan." --- We are excited to share the Prisma 2 Preview today. It features a **type-safe database client** ([Photon](https://github.com/prisma/prisma/releases/tag/2.0.0-preview020)) and a **declarative migration system** ([Lift](https://github.com/prisma/prisma/releases/tag/2.0.0-preview020)). Help us improve Prisma 2 by trying it out and sharing your feedback! diff --git a/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx b/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx index d014cefbbe..7e9f62a55c 100644 --- a/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx @@ -6,9 +6,9 @@ authors: - "Mike Hartington" metaTitle: "Prisma ORM 6.18.0, Postgres Database Metrics and Config Modernization" metaDescription: "Catch up on the lates 6.18.0 release for Prisma ORM and Prisma Postgres." -metaImagePath: "/announcing-prisma-6-18-0/imgs/meta-85fc09231b7180336b63d1da7fe47a2520db99f5-1266x711.png" -heroImagePath: "/announcing-prisma-6-18-0/imgs/hero-6903d477604982ce17726b525221e1e1de6eb1a1-844x474.svg" -heroImageAlt: "Prisma 6.18.0 Release " +metaImagePath: "/announcing-prisma-6-18-0/imgs/meta.png" +heroImagePath: "/announcing-prisma-6-18-0/imgs/hero.svg" +heroImageAlt: "An ink code card on light paper showing the prisma.config.ts file with the engine 'classic' line highlighted in cyan, beside the words 'Config, not schema'." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx b/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx index 79405118e1..bf1d9e4a65 100644 --- a/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx @@ -6,8 +6,9 @@ authors: - "Mike Hartington" metaTitle: "Announcing Prisma 6.19.0" metaDescription: "Prisma 6.19 release includes pooled Postgres connections and VS Code extension improvements" -metaImagePath: "/announcing-prisma-6-19-0/imgs/meta-fab568a4879cfeb58a8405888c303ce5b6b279fb-1266x711.png" -heroImagePath: "/announcing-prisma-6-19-0/imgs/hero-21b965afb8b247bc0f088a71d844d66b64d5da38-844x474.svg" +metaImagePath: "/announcing-prisma-6-19-0/imgs/meta.png" +heroImagePath: "/announcing-prisma-6-19-0/imgs/hero.svg" +heroImageAlt: "A diagram titled 'Pooled direct connections' showing an app connecting through a connection pooling card carrying the pool=true parameter on to Prisma Postgres" tags: - "prisma-postgres" - "orm" diff --git a/apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx b/apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx index 03490a6e1f..e3a56a569c 100644 --- a/apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx @@ -6,9 +6,9 @@ authors: - "Etel Sverdlov" metaTitle: "Prisma Day 2019 - community conference on modern app development" metaDescription: "Prisma Day 2019 brought the Prisma community together in Berlin for talks on modern app development, databases, and Prisma in production." -metaImagePath: "/announcing-prisma-day-50cg22nn40qk/imgs/meta-eeacc461f1965ed958af330fc9dc93f635920b43-1200x630.png" -heroImagePath: "/announcing-prisma-day-50cg22nn40qk/imgs/hero-d719c9276cc4c57665d4a32cc5fdae5b5bfcad50-1200x630.png" -heroImageAlt: "Announcing Prisma Day the future of data" +metaImagePath: "/announcing-prisma-day-50cg22nn40qk/imgs/meta.png" +heroImagePath: "/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg" +heroImageAlt: "A soft coral light field on light paper with a single white card announcing Prisma Day on June 19, 2019 at the Pfefferberg Theatre in Berlin." --- Announcing the first [Prisma Day](https://www.prisma.io/day), a one-day Prisma community conference on the diff --git a/apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx b/apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx index d639d43d28..798974d4e8 100644 --- a/apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx @@ -6,8 +6,9 @@ authors: - "Mike Hartington" metaTitle: "Prisma 7 Release: Rust-Free, Faster, and More Compatible" metaDescription: "Prisma ORM 7 delivers major performance gains, a Rust-free client, and a streamlined developer experience, plus deeper Prisma Postgres integration." -metaImagePath: "/announcing-prisma-orm-7-0-0/imgs/meta-6b30aeef18d38ef00eb7b90286801660d84a9a0e-1266x711.png" -heroImagePath: "/announcing-prisma-orm-7-0-0/imgs/hero-bbef45a84ff4bd03130bed3589b7d240c29ce325-844x474.svg" +metaImagePath: "/announcing-prisma-orm-7-0-0/imgs/meta.png" +heroImagePath: "/announcing-prisma-orm-7-0-0/imgs/hero.svg" +heroImageAlt: "A giant Sora 7 filled with the Prisma spectrum gradient on paper, beside the two results of the Rust-free client: 90% smaller bundle output and 3x faster query execution." tags: - "announcement" --- diff --git a/apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx b/apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx index 27b79dfe2a..82c5b50195 100644 --- a/apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx @@ -6,8 +6,9 @@ authors: - "Mike Hartington" metaTitle: "Prisma ORM 7.2.0 Released: CLI Improvements, Bug Fixes & Better Configs" metaDescription: "Prisma ORM 7.2.0 is out with key improvements: the return of the --url flag, smarter prisma init configs for Node and Bun, better CLI errors, and fixes for @db.Money. Upgrade today." -metaImagePath: "/announcing-prisma-orm-7-2-0/imgs/meta-e05db51030f5b58e706489c501174d1d00eb99ec-1266x711.png" -heroImagePath: "/announcing-prisma-orm-7-2-0/imgs/hero-51b054f6d21361fc56212a05c7efd36b78e62ff3-844x474.svg" +metaImagePath: "/announcing-prisma-orm-7-2-0/imgs/meta.png" +heroImagePath: "/announcing-prisma-orm-7-2-0/imgs/hero.svg" +heroImageAlt: "The numeral 7.2.0 set large in ink on light paper above a cyan rule and a one-line release summary: --url is back, runtime-aware prisma init, @db.Money fixed." tags: - "orm" --- diff --git a/apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx b/apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx index 23df80aa7d..31b4604288 100644 --- a/apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma Playground: An Interactive Learning Experience for Prisma" metaDescription: "Explore the Prisma Client API to send database queries and Prisma Migrate worklfows to evolve your database schema in an interactive environment." -metaImagePath: "/announcing-prisma-playground-xeywknkj0e1p/imgs/meta-470fec1fa04cf5fccadfadd70b449d857ee62116-1688x948.png" -heroImagePath: "/announcing-prisma-playground-xeywknkj0e1p/imgs/hero-1735a3ccb59d21fc0d32410b0b3ac83242fcd020-844x474.svg" -heroImageAlt: "Prisma Playground: An Interactive Learning Experience for Prisma" +metaImagePath: "/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png" +heroImagePath: "/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg" +heroImageAlt: "A dashed sandbox boundary holding the Prisma Playground's two tracks: Prisma Client queries and Prisma Migrate guides." tags: - "announcement" --- diff --git a/apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx b/apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx index 8ad80c1ae1..ec9d750377 100644 --- a/apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma Postgres®: Building a Modern PostgreSQL Service Using Unikernels & MicroVMs" metaDescription: "At Prisma, we believe that deploying a database should be as simple as adding a new page in Notion. Today, we are excited to share the first milestone towards this vision: Prisma Postgres® gives developers an always-on database with pay-as-you-go pricing, thanks to our unique architecture design." -metaImagePath: "/announcing-prisma-postgres-early-access/imgs/meta-6796d74a842eae9429254e7ed11b483985ba4e50-1266x711.png" -heroImagePath: "/announcing-prisma-postgres-early-access/imgs/hero-153cb5a3d4a5447955824c28ae43788e7c407adf-633x356.png" +metaImagePath: "/announcing-prisma-postgres-early-access/imgs/meta.png" +heroImagePath: "/announcing-prisma-postgres-early-access/imgs/hero.svg" +heroImageAlt: "Three stacked bands showing the Prisma Postgres architecture: PostgreSQL as the application, a yellow-accented unikernel band described as the thinnest possible layer, and an ink band for the Firecracker microVM on bare metal." tags: - "announcement" --- diff --git a/apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx b/apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx index e6d3d3db93..473f3fa98b 100644 --- a/apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx @@ -6,8 +6,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Announcing: Instant Prisma Postgres for AI Coding Agents" metaDescription: "Prisma Postgres gives AI coding agents instant database provisioning so developers can build, test, and iterate on AI-powered apps much faster." -metaImagePath: "/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta-24be732ef3e8f019820d370b8a5f74ab14170fdc-1266x711.png" -heroImagePath: "/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero-6ad1b7b4a851a45e91418d443573f0c38accc78d-844x474.svg" +metaImagePath: "/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png" +heroImagePath: "/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg" +heroImageAlt: "An ink code card showing the Prisma MCP server configuration from the post, with the npx prisma platform mcp arguments highlighted in prism yellow." tags: - "announcement" --- diff --git a/apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx b/apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx index f95456fcf9..d8cf1032ef 100644 --- a/apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx +++ b/apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Announcing Prisma’s MCP Server: Vibe Code with Prisma Postgres" metaDescription: "With Prisma’s MCP server, Cursor, Windsurf and other AI tools, can now provision and manage Postgres databases for your apps.." -metaImagePath: "/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta-0e15503386e31edce5fd389f4b2ee52b0f71a162-1266x711.png" -heroImagePath: "/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero-7d96f16b30c6971db0da1e546a13a985ec47f6f3-844x474.svg" +metaImagePath: "/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png" +heroImagePath: "/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg" +heroImageAlt: "A soft yellow mesh field on light paper carrying the command npx prisma init --vibe 'Cat meme generator' in one small white card, under the line that your AI tool provisions the database." --- With AI-native IDEs, we are all developing apps with remarkable speed. So much so that managing infrastructure is becoming the bottleneck. With [Prisma’s MCP server](https://www.prisma.io/docs/postgres/mcp-server), Cursor, Windsurf and other AI tools, can now provision and manage Postgres databases for your apps, so you don’t have to spend time fiddling with infrastructure. diff --git a/apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx b/apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx index 04bf515ac3..2fb52cb6dd 100644 --- a/apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx +++ b/apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx @@ -6,9 +6,9 @@ authors: - "Ryan Chenkie" metaTitle: "Announcing Nexus 1.0: Type-Safe, Code-First GraphQL APIs | Prisma" metaDescription: "Nexus, the library for building code-first, type-safe GraphQL APIs has just reached 1.0." -metaImagePath: "/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta-29585f8afef1e4c94930404a027807ca6ec0c2e3-2398x1208.png" -heroImagePath: "/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero-807c11a11df0567a4b2ac96a0cac738b916d7416-1692x852.png" -heroImageAlt: "Nexus 1.0: A Major Release for Type-Safe, Code-First GraphQL APIs" +metaImagePath: "/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png" +heroImagePath: "/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg" +heroImageAlt: "An ink code card showing the Nexus 1.0 objectType API with the explicit nonNull calls highlighted in cyan, beside the line 'One file, one language'." --- Prisma is a core contributor to Nexus, a library for building code-first and type-safe GraphQL APIs. Nexus has just reached 1.0. In this post, we'll recap what Nexus is and the value it brings and what's new at 1.0. diff --git a/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx b/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx index 961a56d668..cfbb76a84c 100644 --- a/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx +++ b/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx @@ -7,8 +7,9 @@ authors: - "Nikolas Burk" metaTitle: "TypedSQL: Type-Safe Raw SQL Queries in Prisma ORM" metaDescription: "TypedSQL adds type-safe raw SQL to Prisma ORM: write queries in .sql files, generate typed functions, and run them with $queryRawTyped. Verified on Prisma 7." -metaImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta-6212889ff7d56ad41636c0f7938159b1fd740651-1688x948.png" -heroImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero-9d1c710f959ab75107576ad53720a7731c75797a-844x474.png" +metaImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png" +heroImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg" +heroImageAlt: "A dark code card tabbed with the file prisma/sql/conversionByVariant.sql, showing the generated query imported and run through prisma.$queryRawTyped, with the inferred result type { variant: string; conversion: number | null }[] highlighted in cyan." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx b/apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx index 11154da246..3624009d8e 100644 --- a/apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx +++ b/apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx @@ -6,9 +6,9 @@ authors: - "Mahmoud Abdelwahab" metaTitle: "New Course: Fullstack App Using Next.js, GraphQL, TypeScript & Prisma TypeScript and Node.js ORM" metaDescription: "We are working on a course, where you are going to learn how to build a fullstack app using Next.js, GraphQL, TypeScript and Prisma!" -metaImagePath: "/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero-c4f6ff1ce0178636ddc08d50f408c042800bac92-1270x714.png" -heroImagePath: "/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero-c4f6ff1ce0178636ddc08d50f408c042800bac92-1270x714.png" -heroImageAlt: "New Course: Fullstack App Using Next.js, GraphQL, TypeScript & Prisma" +metaImagePath: "/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png" +heroImagePath: "/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg" +heroImageAlt: "Four stacked plates naming the layers of the app built in the course, Next.js, GraphQL Yoga, Prisma and PostgreSQL, with the Prisma layer highlighted in cyan." tags: - "education" --- diff --git a/apps/blog/content/blog/aws-marketplace/index.mdx b/apps/blog/content/blog/aws-marketplace/index.mdx index 602e233494..ba42b00b0b 100644 --- a/apps/blog/content/blog/aws-marketplace/index.mdx +++ b/apps/blog/content/blog/aws-marketplace/index.mdx @@ -6,9 +6,9 @@ authors: - "Nitin Gupta" metaTitle: "Prisma products are now available for purchase on AWS Marketplace" metaDescription: "AWS Marketplace customers can purchase Prisma products through AWS Marketplace." -metaImagePath: "/aws-marketplace/imgs/meta-328edbc9eaafbce2d4e09174ee22a13f77e758d3-1266x711.png" -heroImagePath: "/aws-marketplace/imgs/hero-f97462343e60a5322d236b809eaf9555aa725651-844x474.svg" -heroImageAlt: "Prisma on AWS Marketplace" +metaImagePath: "/aws-marketplace/imgs/meta.png" +heroImagePath: "/aws-marketplace/imgs/hero.svg" +heroImageAlt: "The words 'Now on your AWS invoice' on light paper above the line 'Prisma products on AWS Marketplace'." tags: - "announcement" --- diff --git a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx index 916c2725db..fc8014d669 100644 --- a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx +++ b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx @@ -7,9 +7,9 @@ authors: - "Daniel Norman" metaTitle: "TypeScript, PostgreSQL, Prisma Backend | Authentication, Authorization" metaDescription: "Secure a TypeScript and PostgreSQL backend with Prisma ORM 7, passwordless authentication, JWTs, and authorization rules using Hono." -metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta-9eae0d75afddb1fce65c68320479268f4cdcffd3-1692x852.png" -heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero-9f73d35216a42b2bb796a971053669fbc90e36ee-846x426.png" -heroImageAlt: "Backend with TypeScript, PostgreSQL & Prisma: Authentication & Authorization" +metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png" +heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg" +heroImageAlt: "A three-step flow on light paper: POST /login takes the user's email, an 8-digit token expires in 10 minutes, and /authenticate exchanges it for a JWT valid for 12 hours, drawn as the highlighted card." series: backend-prisma-typescript-orm-with-postgresql seriesIndex: 3 --- diff --git a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx index eacb50b86a..1cb662efcb 100644 --- a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx +++ b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx @@ -7,9 +7,9 @@ authors: - "Daniel Norman" metaTitle: "TypeScript, PostgreSQL, Prisma | Data Modeling, CRUD, Aggregates" metaDescription: "Learn to design a PostgreSQL data model and run type-safe CRUD and aggregate queries with Prisma ORM 7 and TypeScript. Updated for the rust-free Prisma Client." -metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero-df67ee11927bde800c1ba033b94e182ab3565110-1692x852.png" -heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero-df67ee11927bde800c1ba033b94e182ab3565110-1692x852.png" -heroImageAlt: "Backend with TypeScript PostgreSQL & Prisma: Data Modeling & CRUD" +metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png" +heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg" +heroImageAlt: "A relation diagram from the grading-system data model: User and Course on either side of a highlighted CourseEnrollment relation table holding the userId and courseId foreign keys, captioned \"One m-n relation, two 1-n relations\"." series: backend-prisma-typescript-orm-with-postgresql seriesIndex: 1 --- diff --git a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx index 1c6383cc5b..f2e7145694 100644 --- a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx +++ b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx @@ -7,9 +7,9 @@ authors: - "Daniel Norman" metaTitle: "TypeScript, PostgreSQL, Prisma | Continuous Integration & Deployment" metaDescription: "Set up CI/CD for a TypeScript, PostgreSQL, and Prisma ORM 7 backend with GitHub Actions, automated tests, and deployment to Prisma Compute." -metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero-d3aa9c3e0b081fe4d675e11574d1bbcf8ea9de46-1692x852.png" -heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero-d3aa9c3e0b081fe4d675e11574d1bbcf8ea9de46-1692x852.png" -heroImageAlt: "Backend with TypeScript, PostgreSQL & Prisma: CI & Deployment" +metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png" +heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg" +heroImageAlt: "A three-stage pipeline on a paper background: git push, GitHub Actions running npm test, and a red-outlined Prisma Compute card returning a live URL." series: backend-prisma-typescript-orm-with-postgresql seriesIndex: 4 --- diff --git a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx index 75041b1c9d..bad75ad3e6 100644 --- a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx +++ b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx @@ -7,9 +7,9 @@ authors: - "Daniel Norman" metaTitle: "TypeScript, PostgreSQL, Prisma Backend | REST API, Validation, Testing" metaDescription: "Build a REST API with TypeScript, PostgreSQL, Prisma ORM 7, and Hono, then add Zod validation and Vitest tests for CRUD endpoints." -metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero-21fe21324bb4e62111c88b37b71091676e29f616-1692x852.png" -heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero-21fe21324bb4e62111c88b37b71091676e29f616-1692x852.png" -heroImageAlt: "Backend with TypeScript, PostgreSQL & Prisma: REST, Validation & Tests" +metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png" +heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg" +heroImageAlt: "The tutorial's five User endpoints set in mono type, with POST /users highlighted and annotated as validated with Zod." series: backend-prisma-typescript-orm-with-postgresql seriesIndex: 2 --- diff --git a/apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx b/apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx index 8cc333f93b..853e8b0b67 100644 --- a/apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx +++ b/apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Database Caching: A Double-Edged Sword? Examining the Pros and Cons" metaDescription: "Discover the advantages and hurdles of caching database query results. Learn how caching enhances performance, scalability, and resource utilization, while also delving into the associated challenges." -metaImagePath: "/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta-72680f73691cdf86b51087621b4b0e79ac12fde7-1266x712.png" -heroImagePath: "/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero-ce90e81e707c3b5735077783e1db72216b8a56dd-844x474.svg" -heroImageAlt: "Database Caching" +metaImagePath: "/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png" +heroImagePath: "/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg" +heroImageAlt: "Two columns headed What you gain and What you pay, listing caching's benefits and its costs on either side of a single spectrum-coloured dividing edge." tags: - "education" --- diff --git a/apps/blog/content/blog/bfg/index.mdx b/apps/blog/content/blog/bfg/index.mdx index 3ebc85d882..195667bda3 100644 --- a/apps/blog/content/blog/bfg/index.mdx +++ b/apps/blog/content/blog/bfg/index.mdx @@ -7,9 +7,9 @@ authors: - "Nitin Gupta" metaTitle: "Explanation of Prisma's Build, Fortify, Grow (BFG) Framework" metaDescription: "An overview of how Prisma products interoperate at each stage and aid in enhancing data-driven application development." -metaImagePath: "/bfg/imgs/meta-48f848dd9b8582c9e4ce13d14f2001a485d281d3-1266x711.png" -heroImagePath: "/bfg/imgs/hero-9e46446f32d354d43e61580e8fc6f1855839e4e5-844x474.svg" -heroImageAlt: "Build, Fortify, Grow Framework" +metaImagePath: "/bfg/imgs/meta.png" +heroImagePath: "/bfg/imgs/hero.svg" +heroImageAlt: "The words Build, Fortify and Grow stacked in large type beside a spectrum rail, each annotated with the promise of that phase." tags: - "announcement" --- diff --git a/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx b/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx index 5af1d181d6..ae5d68b006 100644 --- a/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx +++ b/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx @@ -6,8 +6,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Bringing Prisma ORM to React Native and Expo" metaDescription: "Prisma ORM now provides Early Access support for React Native and Expo. The integration introduces reactive queries, using React hooks to auto-update the UI when the underlying data changes." -metaImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/meta-289f00bdde5d5f308f3faa684d09f647974d77b6-1200x630.png" -heroImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/hero-bbb1e7f6b0f7bef3d318fac96652548cad0ef0b5-844x474.svg" +metaImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png" +heroImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg" +heroImageAlt: "Typographic cover on light paper: the words Reactive queries set large in Sora above the hook call prisma.transactions.useFindMany(), with useFindMany picked out in cyan." tags: - "announcement" --- diff --git a/apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx b/apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx index 1ed4efe7e2..ed8bbc5b7d 100644 --- a/apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx +++ b/apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx @@ -6,9 +6,9 @@ authors: - "Ryan Chenkie" metaTitle: "How to build an App With Svelte and TypeScript | Prisma" metaDescription: "Learn how to build a Svelte app with TypeScript and improve developer ergonomics with stronger typing across your frontend codebase." -metaImagePath: "/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta-711f2d3f2094907c22c0ef2dd88e69992f950026-2400x1256.png" -heroImagePath: "/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero-0e8c20420d860a393f68694b8bab707306822df3-1692x852.png" -heroImageAlt: "Build an App With Svelte and TypeScript" +metaImagePath: "/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png" +heroImagePath: "/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg" +heroImageAlt: "An ink code card showing the same Svelte script block twice: without lang=\"ts\" the typed prop is an unexpected token, and with lang=\"ts\" highlighted in red it compiles." tags: - "education" --- diff --git a/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx b/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx index 96b0948a13..1bbd234e95 100644 --- a/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx +++ b/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Build Applications at the Edge with Prisma ORM & Cloudflare D1 (Preview)1" metaDescription: "Prisma ORM now supports Cloudflare D1 databases. Read this article to learn how to query D1 from a Cloudflare Worker." -metaImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta-9804cde42d974d63b5a3b8bc951c13aeb9187101-1266x711.png" -heroImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero-66fc05379af15d65fd3dd6d792c9a575db648895-844x474.png" +metaImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png" +heroImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg" +heroImageAlt: "A three-tile flow on light paper under the headline \"Query D1 from a Worker\": a Cloudflare Worker passes through the PrismaD1 driver adapter, highlighted in cyan, into the D1 database bound as env.DB." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx b/apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx index 5bc9107d79..8f8421db51 100644 --- a/apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx +++ b/apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx @@ -7,9 +7,9 @@ authors: - "Jon Harrell" metaTitle: "Caching Database Queries with Prisma Postgres" metaDescription: "Cache database queries per query with Prisma Postgres's built-in TTL and SWR caching: faster reads, lower database load, and no separate caching infrastructure to run." -metaImagePath: "/caching-database-queries-with-prisma-accelerate/imgs/meta-959743e064c1771e65e078aa6ebee2b402c28578-1266x711.png" -heroImagePath: "/caching-database-queries-with-prisma-accelerate/imgs/hero-69cd8d277e2307eb14396450817be41bb1e7c305-844x474.svg" -heroImageAlt: "The word \"caching\" with a starburst behind it, showing that it is important." +metaImagePath: "/caching-database-queries-with-prisma-accelerate/imgs/meta.png" +heroImagePath: "/caching-database-queries-with-prisma-accelerate/imgs/hero.svg" +heroImageAlt: "A freshness timeline for one cached query under the line \"cacheStrategy: { ttl: 300, swr: 120 }\": a solid yellow band labelled \"ttl · 5 min, served from cache as fresh\" followed by a fading band labelled \"swr · 2 min, served stale, revalidating\"." --- Query caching stores the result of a database read so repeated requests are served from the cache instead of hitting your database: faster responses, lower database load, and infrastructure that survives traffic spikes. [Prisma Postgres](https://www.prisma.io/docs/postgres) builds this in at the query level: you add a `cacheStrategy` to an individual Prisma ORM query and choose how long results stay fresh, with no separate caching layer to deploy or invalidate. This post covers why and when to cache, and how per-query caching works in practice. diff --git a/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx b/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx index 6b163c2125..d0746bfe94 100644 --- a/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx +++ b/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx @@ -6,9 +6,9 @@ authors: - "Jon Harrell" metaTitle: "Prisma Client Extensions Are Now Production Ready (4.16.0)" metaDescription: "Make Prisma Client do even more with Client extensions, now Generally Available. Extend your client, models, queries, and results to tailor Prisma Client to your use case." -metaImagePath: "/client-extensions-ga-4g4yIu8eOSbB/imgs/meta-50e7e57ea5967ad67ce89e682aca57f5e19fd65a-1266x712.png" -heroImagePath: "/client-extensions-ga-4g4yIu8eOSbB/imgs/hero-b404c12ca7de2f9288368dacbce578b790bfd66d-844x474.svg" -heroImageAlt: "Prisma Client Extensions" +metaImagePath: "/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png" +heroImagePath: "/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg" +heroImageAlt: "A white prism on paper: a single $extends beam enters and refracts into four colored rays labelled model, client, query and result." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx b/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx index e24bf3555f..24a6ffacdd 100644 --- a/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx +++ b/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx @@ -7,9 +7,9 @@ authors: - "Stephen King" metaTitle: "Prisma Client Extensions: 15 Practical Examples" metaDescription: "Prisma Client extensions add type-safe custom behavior to Prisma ORM: computed fields, validation, RLS, retries and more, with 15 runnable examples." -metaImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/meta-5ca8711a05c2f835cfce511739e46b5f6df982cd-1266x712.png" -heroImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/hero-1b0474b02ed0759af1c6e3f3bcba5d4ebb1d970b-844x474.svg" -heroImageAlt: "Prisma Client Extensions: extending Prisma ORM with custom behavior" +metaImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png" +heroImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg" +heroImageAlt: "A giant numeral 15 beside the words extension patterns, above the prisma.$extends(myExtension) call set in mono type." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx b/apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx index 41f48400d4..953b9b270f 100644 --- a/apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx +++ b/apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx @@ -6,8 +6,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Prisma's Cloud Connectivity Report 2024" metaDescription: "The Prisma Cloud Connectivity Report 2024 analyzes AWS and Cloudflare latency, highlighting regions with the fastest and slowest connectivity." -metaImagePath: "/cloud-connectivity-report-2024/imgs/meta-4081c40e88b18cc130df73ce6102d5154c7ad39c-1200x630.png" -heroImagePath: "/cloud-connectivity-report-2024/imgs/hero-cb3b5906c2776d8457722f79222e915cd08aa6a3-844x474.svg" +metaImagePath: "/cloud-connectivity-report-2024/imgs/meta.png" +heroImagePath: "/cloud-connectivity-report-2024/imgs/hero.svg" +heroImageAlt: "A bar chart of p50 latency from AWS regions to their nearest Cloudflare PoP: ap-south-1 (Mumbai) fastest at 10.9 ms in cyan, ap-southeast-1 (Singapore) 12.3 ms, ap-southeast-2 (Sydney) 15.8 ms, and us-east-2 (Columbus) about three times higher." --- The Prisma Cloud Connectivity Report 2024 analyzes network latency between AWS regions and Cloudflare PoPs, identifying regions with the fastest and slowest connectivity. It highlights the impact of physical infrastructure and geographical distance on latency, providing insights for optimizing cloud connectivity and data exchange efficiency. diff --git a/apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx b/apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx index eb1ad9efb4..48c6208abf 100644 --- a/apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx +++ b/apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx @@ -6,9 +6,9 @@ authors: - "Nitin Gupta" metaTitle: "Developer Experience Redefined: Prisma & Cloudflare Lead the Way to Data DX" metaDescription: "Prisma introduces Data DX and announces a partnership with Cloudflare" -metaImagePath: "/cloudflare-partnership-qerefgvwirjq/imgs/meta-c3dfb4dc0d8bc7d99b379b6e68668c6135aca53c-1266x711.png" -heroImagePath: "/cloudflare-partnership-qerefgvwirjq/imgs/hero-726190b9f3c5c097cc8cfa5dc08581458138758f-844x474.svg" -heroImageAlt: "hero image prisma" +metaImagePath: "/cloudflare-partnership-qerefgvwirjq/imgs/meta.png" +heroImagePath: "/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg" +heroImageAlt: "A flat flow on light paper: a query leaves a Your app tile along a cyan beam into a highlighted Accelerate edge cache tile labelled Cloudflare CDN and Workers, with a dashed line continuing to the database only on a cache miss." tags: - "announcement" --- diff --git a/apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx b/apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx index 4fc489c07c..d7e7c911bf 100644 --- a/apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx +++ b/apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Cloudflare, Unikernels & Bare Metal: Life of a Prisma Postgres Query" metaDescription: "Take a look under the hood of the most innovative PostgreSQL database on the market and learn how a query travels through Cloudflare, unikernels and bare metal." -metaImagePath: "/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta-b078a6114c23eb0c00322a230a463628f4799fb4-1266x711.png" -heroImagePath: "/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero-e23d2415c9dce256ee6090919392141e9da30678-844x474.svg" +metaImagePath: "/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png" +heroImagePath: "/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg" +heroImageAlt: "Four connected tiles trace a query from Prisma ORM through Cloudflare and the connection pool to a Prisma Postgres instance running as a unikernel on bare metal." --- [Prisma Postgres](https://www.prisma.io/postgres) is the most innovative PostgreSQL database on the market. In this article, we dive deep into its technology stack, which enables lightning-fast queries, global caching, connection pooling, and more. diff --git a/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx b/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx index 3bf2bbff17..e08cdcb570 100644 --- a/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx +++ b/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "Prisma support for CockroachDB is now in GA" metaDescription: "Prisma's support for CockroachDB is now in production ready! Read this article to learn about the features and benefits of Prisma with CockroachDb." -metaImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/meta-77148d314c74789939fb2b2af2bf3f82378cebc0-1920x1080.png" -heroImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/hero-ebf53ec190dab44f271d4f0dd1ad658507f55b66-844x474.svg" -heroImageAlt: "Prisma Support for CockroachDB Is Production Ready" +metaImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png" +heroImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg" +heroImageAlt: "Three stacks of layered elliptical planes on a light background, representing nodes of a distributed database; the same plane in each stack is tinted cyan and joined by a thin cyan line." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/compliance-reqs-complete/index.mdx b/apps/blog/content/blog/compliance-reqs-complete/index.mdx index de58286d91..68ea4e914e 100644 --- a/apps/blog/content/blog/compliance-reqs-complete/index.mdx +++ b/apps/blog/content/blog/compliance-reqs-complete/index.mdx @@ -7,9 +7,9 @@ authors: - "Josh McLeod" metaTitle: "Prisma completes HIPAA, GDPR, ISO27001, SOC2 compliance requirements." metaDescription: "Prisma completes the compliance requirements for GDPR, HIPAA, ISO27001 and SOC2-TypeII certifications" -metaImagePath: "/compliance-reqs-complete/imgs/meta-457925aa50c548e3c000c94e5dab3874b4272046-1266x711.png" -heroImagePath: "/compliance-reqs-complete/imgs/hero-d21f1c5e95d54f9016987dc7885b6b032c1bc140-844x474.svg" -heroImageAlt: "Prisma completes compliance requirements for GDPR, HIPAA, ISO27001 and SOC2-TypeII certifications." +metaImagePath: "/compliance-reqs-complete/imgs/meta.png" +heroImagePath: "/compliance-reqs-complete/imgs/hero.svg" +heroImageAlt: "A checked list of the four standards Prisma completed: SOC 2 Type II, HIPAA, GDPR and ISO 27001:2022." tags: - "announcement" --- diff --git a/apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx b/apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx index 9837651d94..6acc3e8759 100644 --- a/apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx +++ b/apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Announcing: Prisma Postgres Integration for Vercel Marketplace" metaDescription: "We’re thrilled to announce that you can now create and manage Prisma Postgres instances without leaving your Vercel Dashboard." -metaImagePath: "/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta-1e5148009a4294ebba377f758ce1139e3c46bcef-1266x711.png" -heroImagePath: "/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero-b06562c14b921f9c72bd78bcd5b04717f20cf9e4-844x474.svg" +metaImagePath: "/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png" +heroImagePath: "/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg" +heroImageAlt: "Large ink type on paper reading A database in your Vercel dashboard, lit by a soft Prisma Postgres yellow glow in the lower right." tags: - "announcement" --- diff --git a/apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx b/apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx index 9aba9c2ebe..76d2b42f7a 100644 --- a/apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx +++ b/apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx @@ -7,8 +7,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Learn more about Connections, Edges & Nodes in Relay | Prisma" metaDescription: "Learn how Relay uses connections, edges, and nodes to model relationships and pagination on top of GraphQL schemas." -metaImagePath: "/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta-cc730c78d87244cb877764a6a4a850b2c9223871-1200x775.png" -heroImagePath: "/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero-a86c8de527177e03b9e08b9f1f1522dc1debbc6d-559x361.png" +metaImagePath: "/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png" +heroImagePath: "/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg" +heroImageAlt: "A diagram on light paper showing a movie node connecting into nested bars labelled actors(first: 10), edges, node and name." --- The terminology of Relay can be quite overwhelming in the beginning. Relay introduces a handful of new concepts on top diff --git a/apps/blog/content/blog/convergence/index.mdx b/apps/blog/content/blog/convergence/index.mdx index 7a27f2dadb..218cb96f87 100644 --- a/apps/blog/content/blog/convergence/index.mdx +++ b/apps/blog/content/blog/convergence/index.mdx @@ -6,9 +6,9 @@ authors: - "Nitin Gupta" metaTitle: "The ORM Convergence: Convergence through experience" metaDescription: "Why Drizzle's relational API v2 mirrors Prisma: production database problems at scale lead to similar patterns. A look at ORM convergence." -metaImagePath: "/convergence/imgs/meta-3963296cdd515c9ae5cb17379fcff0da144c7b35-1266x711.png" -heroImagePath: "/convergence/imgs/hero-532d75ec739a13ee528e8b2a085d47fc962a3ca7-840x472.png" -heroImageAlt: "ORM Convergence" +metaImagePath: "/convergence/imgs/meta.png" +heroImagePath: "/convergence/imgs/hero.svg" +heroImageAlt: "A comparison card mapping Prisma's relational query options to Drizzle's Relational API v2, joined by cyan equals signs: include = with, select = columns, take = limit." --- Drizzle's relational API v2 adds migrations, object-based queries, and abstractions mirroring Prisma's architecture. Plot twist: this isn't copying, it's convergence. Production database problems at scale demand similar solutions. Seeing another team reach the same conclusions we did in 2020? Pretty validating. diff --git a/apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx b/apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx index ca5fb732c3..6a7f2961ae 100644 --- a/apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx +++ b/apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx @@ -6,9 +6,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Prisma Is Expanding Its Executive Team" metaDescription: "Announcement about new COO joining Prisma" -metaImagePath: "/coo-announcement-aer1fgviirjb/imgs/hero-c79e2c7b7f4cd64f5be9677d4fab38140809b0f9-1267x711.png" -heroImagePath: "/coo-announcement-aer1fgviirjb/imgs/hero-c79e2c7b7f4cd64f5be9677d4fab38140809b0f9-1267x711.png" -heroImageAlt: "Prisma Is Expanding Its Executive Team" +metaImagePath: "/coo-announcement-aer1fgviirjb/imgs/meta.png" +heroImagePath: "/coo-announcement-aer1fgviirjb/imgs/hero.svg" +heroImageAlt: "A soft prism-red field on light paper carrying a single line of type: Nitin Gupta joins Prisma as COO." tags: - "announcement" --- diff --git a/apps/blog/content/blog/data-platform-static-ips/index.mdx b/apps/blog/content/blog/data-platform-static-ips/index.mdx index 8e4d40ebf1..2098bab2e9 100644 --- a/apps/blog/content/blog/data-platform-static-ips/index.mdx +++ b/apps/blog/content/blog/data-platform-static-ips/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Enabling static egress IPs in the Prisma Data Platform" metaDescription: "Static egress IP support ensures that the Prisma Data Platform connects to your databases through public static IP addresses helping you keep your database secure." -metaImagePath: "/data-platform-static-ips/imgs/meta-725058cd14e118302aa8e56bbaf31e46436bfc91-1269x640.png" -heroImagePath: "/data-platform-static-ips/imgs/hero-f9991a96b6b8ce0fa61dead528141fa1e8b911be-844x474.svg" -heroImageAlt: "Enabling static egress IPs in the Prisma Data Platform" +metaImagePath: "/data-platform-static-ips/imgs/meta.png" +heroImagePath: "/data-platform-static-ips/imgs/hero.svg" +heroImageAlt: "Three red arrows leave a Prisma Data Platform card and pass through the single opening in a dashed firewall allow-list boundary that encloses a database." tags: - "announcement" - "platform" diff --git a/apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx b/apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx index dacd7d1050..ee579bc951 100644 --- a/apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx +++ b/apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx @@ -6,9 +6,9 @@ authors: - "Mahmoud Abdelwahab" metaTitle: "Send Database Queries in a React App Using Server Components" metaDescription: "Learn how to query your database directly from React Server Components with Prisma, and why type-safe database access fits the server-rendered React model." -metaImagePath: "/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta-8befd7df92cc32135332ef9c28b41e076e2c8998-1251x630.png" -heroImagePath: "/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero-f388984fa1fe34f5d79d884f6f599c22a4107fa1-846x426.png" -heroImageAlt: "Database Access in React Server Components" +metaImagePath: "/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png" +heroImagePath: "/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg" +heroImageAlt: "The headline 'Skip the API layer' beside a dark code card showing the NoteList.server.js component calling prisma.note.findMany directly" tags: - "education" --- diff --git a/apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx b/apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx index c3c4bafd6b..7fa25bc242 100644 --- a/apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx +++ b/apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "Database access on the Edge with Next.js, Vercel & Prisma Accelerate" metaDescription: "Learn how you can query databases in Edge environments using Prisma and the Prisma Accelerate." -metaImagePath: "/database-access-on-the-edge-8F0t1s1BqOJE/imgs/41eccd0c9a716384d9635415e90e434abfda6c58-1692x952.png" -heroImagePath: "/database-access-on-the-edge-8F0t1s1BqOJE/imgs/1fc839965595779722b9fca14e1e517d94aa9726-844x474.svg" -heroImageAlt: "Database access on the Edge with Next.js, Vercel & Prisma Accelerate" +metaImagePath: "/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png" +heroImagePath: "/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg" +heroImageAlt: "Seven request lines from edge functions converge into a single Prisma Accelerate connection pool, which leaves as one pooled connection to a PostgreSQL database drawn as a cylinder." tags: - "education" --- diff --git a/apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx b/apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx index e19ac48052..8db63743d2 100644 --- a/apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx +++ b/apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx @@ -5,8 +5,9 @@ date: "2025-01-15" authors: - "Nikolas Burk" metaDescription: "Joining data from multiple tables is a complicated topic. There are two main strategies: database-level and application-level joins. Prisma ORM offers both options. In this article you’ll learn the tradeoffs between the two so you can pick the best strategy." -metaImagePath: "/database-vs-application-demystifying-join-strategies/imgs/meta-3dd1f6419862f57459fa70702fabf854946e6e13-1266x711.png" -heroImagePath: "/database-vs-application-demystifying-join-strategies/imgs/hero-5fa4fcf8d00bbf21e0b169f955a09f79332fb75b-844x474.svg" +metaImagePath: "/database-vs-application-demystifying-join-strategies/imgs/meta.png" +heroImagePath: "/database-vs-application-demystifying-join-strategies/imgs/hero.svg" +heroImageAlt: "A comparison table listing naive DB-level, application-level and smart DB-level join strategies against how much redundant data each returns and how many database round trips it takes." tags: - "education" --- diff --git a/apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx b/apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx index aeec6fe046..2cacbf0084 100644 --- a/apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx +++ b/apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx @@ -6,9 +6,9 @@ authors: - "Petra Donka" metaTitle: "Key takeaways from the Discover Data DX virtual event" metaDescription: "Highlights from the Discover Data DX virtual event hosted by Prisma on December 7th, 2023, where industry leaders discussed the significance and principles of Data DX." -metaImagePath: "/datadx-event-recap-z5pcp6hzbz5m/imgs/meta-3155f43f9648d3e4eedd05759f69d6876b72d313-1265x711.png" -heroImagePath: "/datadx-event-recap-z5pcp6hzbz5m/imgs/hero-23097a272172cd3791887b9664ecd25e4dc65cff-843x474.svg" -heroImageAlt: "Key takeaways from the Discover Data DX virtual event" +metaImagePath: "/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png" +heroImagePath: "/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg" +heroImageAlt: "A large pull quote on light paper reading 'I just want to fix bugs, build features, and ship.', attributed to Peter Pistorius of Snaplet, a panelist at the Discover Data DX event." tags: - "announcement" --- diff --git a/apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx b/apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx index 6613508725..9e0c98429d 100644 --- a/apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx +++ b/apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx @@ -6,9 +6,9 @@ authors: - "Nitin Gupta" metaTitle: "Data DX Manifesto: a new era in data-driven app development" metaDescription: "Prisma introduces Data DX (Data Developer Experience) as a fresh approach for effortlessly building data-driven applications." -metaImagePath: "/datadx-manifesto-ikgyqj170k8h/imgs/meta-96de5fd29833ae651da6ecc88c021bb9d84eba1b-1266x711.png" -heroImagePath: "/datadx-manifesto-ikgyqj170k8h/imgs/hero-2e402be560690da1dd594236284a8efa71a8f82f-844x474.svg" -heroImageAlt: "Data DX" +metaImagePath: "/datadx-manifesto-ikgyqj170k8h/imgs/meta.png" +heroImagePath: "/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg" +heroImageAlt: "The words Data DX set large in ink on paper, with the three 45-degree Prisma prism bands bleeding off the bottom-right corner" tags: - "announcement" --- diff --git a/apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx b/apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx index 529004708a..dd9cd42ed7 100644 --- a/apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx +++ b/apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx @@ -6,8 +6,9 @@ authors: - "Dave Feldman" metaTitle: "Data DX: The name for Prisma’s developer experience philosophy" metaDescription: "Explore the evolution of Data DX at Prisma, from its inception before naming to the launch of a new category." -metaImagePath: "/datadx-name-for-prismas-philosophy/imgs/meta-20adaa4799629b59c11ad00ea86bdc7cfbbd0ed5-1266x711.png" -heroImagePath: "/datadx-name-for-prismas-philosophy/imgs/hero-6b87cc279c810d8c9af92e0bfc3e4a4b21dd9bf0-844x474.svg" +metaImagePath: "/datadx-name-for-prismas-philosophy/imgs/meta.png" +heroImagePath: "/datadx-name-for-prismas-philosophy/imgs/hero.svg" +heroImageAlt: "The Prisma logo at the center of concentric yellow rings spreading outward across a light canvas." --- Explore the evolution of [Data DX](https://www.datadx.io/) at Prisma, from its inception before naming to the launch of a new category. Learn more about our founder’s vision and how Data DX is integrated into Prisma's products, and join the industry-wide shift towards a new era in developer experience. diff --git a/apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx b/apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx index 4fdacd5128..05659b77dd 100644 --- a/apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx +++ b/apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "New Datamodel Syntax: Improved Schema Control & Simpler Migrations" metaDescription: "Prisma's new datamodel syntax gave developers more control over database schemas while simplifying migrations and reducing opinionated defaults." -metaImagePath: "/datamodel-v11-lrzqy1f56c90/imgs/hero-99f1530d6ebe62110fd2839ba4f0185795ee5db4-1200x630.png" -heroImagePath: "/datamodel-v11-lrzqy1f56c90/imgs/hero-99f1530d6ebe62110fd2839ba4f0185795ee5db4-1200x630.png" -heroImageAlt: "New Datamodel Syntax: More Schema Control & Simpler Migration" +metaImagePath: "/datamodel-v11-lrzqy1f56c90/imgs/meta.png" +heroImagePath: "/datamodel-v11-lrzqy1f56c90/imgs/hero.svg" +heroImageAlt: "An ink code card showing the datamodel v1.1 syntax, with the @db directives that map the User model to a user table and the name field to a full_name column highlighted." --- Prisma's latest release features an improved datamodel syntax. It removes many of the opinionated decisions Prisma used to make about the database layout and enables more control for developers. diff --git a/apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx b/apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx index 107e2ab09e..122120283f 100644 --- a/apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx +++ b/apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "Learn 5 Tools for Documenting Web APIs" metaDescription: "Explore five tools and approaches for documenting web APIs so teams can ship clearer, more usable developer experiences." -metaImagePath: "/documenting-apis-mjjpZ7E7NkVP/imgs/hero-2982f7850de70f0c52daa613dae904b463342823-1692x852.png" -heroImagePath: "/documenting-apis-mjjpZ7E7NkVP/imgs/hero-2982f7850de70f0c52daa613dae904b463342823-1692x852.png" -heroImageAlt: "5 Tools for Documenting Your Web API" +metaImagePath: "/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png" +heroImagePath: "/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg" +heroImageAlt: "An editorial index listing the five tools the article covers - Swagger, Postman, GraphQL, Protocol buffers and JSON Schema - each paired with the format it documents, under a yellow rule." tags: - "education" --- diff --git a/apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx b/apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx index b4e00a981e..789f26778f 100644 --- a/apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx +++ b/apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "End-To-End Type-Safety with GraphQL, Prisma & React: Frontend" metaDescription: "Learn how to build a fully type-safe application with GraphQL, Prisma, and React. This article walks you through building a type-safe React app that accesses a GraphQL API." -metaImagePath: "/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta-dc0f147b1428391e4b3d0374523d45639d1318a6-1269x715.png" -heroImagePath: "/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero-2f58c7e9701e7f9a0250db211bdf5284da11d2d8-844x474.svg" -heroImageAlt: "hero image prisma" +metaImagePath: "/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png" +heroImagePath: "/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg" +heroImageAlt: "An ink code card shows the tutorial's src/types.ts file with the Message and User types, the line messages: Message[] highlighted in cyan." series: e2e-type-safety-graphql-react seriesIndex: 1 tags: diff --git a/apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx b/apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx index 021c529471..1ffe5db25e 100644 --- a/apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx +++ b/apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "End-To-End Type-Safety with GraphQL, Prisma & React: API Prep" metaDescription: "Learn how to build a fully type-safe application with GraphQL, Prisma, and React. This article walks you through setting up a TypeScript project, a PostgreSQL database, and Prisma." -metaImagePath: "/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta-06962f83ac8be93c511d0ef6cbc29e2cff49e387-1269x715.png" -heroImagePath: "/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero-838c88ca3817165045cc051d8845880e5a313baf-844x474.svg" -heroImageAlt: "hero image prisma" +metaImagePath: "/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png" +heroImagePath: "/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg" +heroImageAlt: "A prism splitting a single beam labelled schema.prisma into three colored beams labelled Prisma Client, GraphQL schema and frontend types, under the words One source of truth." series: e2e-type-safety-graphql-react seriesIndex: 2 tags: diff --git a/apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx b/apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx index 6f364d2324..e5b789f125 100644 --- a/apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx +++ b/apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "End-To-End Type-Safety with GraphQL, Prisma & React: GraphQL API" metaDescription: "Learn how to build a fully type-safe application with GraphQL, Prisma, and React. This article walks you through building a type-safe GraphQL API" -metaImagePath: "/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta-c8b654f7165277e7cf2cfde5311381d601463251-1269x715.png" -heroImagePath: "/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero-78bb7b87f2bf7e691114b2768df5ddfe12e00934-844x474.svg" -heroImageAlt: "hero image prisma" +metaImagePath: "/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png" +heroImagePath: "/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg" +heroImageAlt: "A beam labeled 'Prisma schema' entering a glass prism and refracting into three colored rays labeled database, resolvers and responses" series: e2e-type-safety-graphql-react seriesIndex: 3 tags: diff --git a/apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx b/apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx index b8ccea27ec..6bac73fda8 100644 --- a/apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx +++ b/apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "End-To-End Type-Safety with GraphQL, Prisma & React: Codegen & Deployment" metaDescription: "Learn how to build a fully type-safe application with GraphQL, Prisma, and React. This article walks you through setting up code generation to allow you to keep your TypeScript types in sync across your frontend and API. You will also deploy your completed project." -metaImagePath: "/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta-42c1cab53d152b8e3e634d75bc70b9d624431cf7-1269x715.png" -heroImagePath: "/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero-b277fdcfbb2267b2f5a9b5d2bd7f06e053febf0f-844x474.svg" -heroImageAlt: "hero image prisma" +metaImagePath: "/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png" +heroImagePath: "/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg" +heroImageAlt: "Flow diagram on light paper: a GraphQL schema URL and a src/**/*.graphql glob merge into graphql-codegen, which outputs a highlighted src/graphql/generated.ts file." series: e2e-type-safety-graphql-react seriesIndex: 4 tags: diff --git a/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx b/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx index f14fd23792..204c6ad983 100644 --- a/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx +++ b/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Emerich" metaTitle: "How Elsevier piloted an innovative publication process with Prisma" metaDescription: "Elsevier is a global leader in information and analytics in scientific publishing. Learn how they modernized the publication process efficiently and flexibly with Prisma." -metaImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/hero-4eaa561121a703742d0016b7a60b69e0cc262dc8-1692x852.png" -heroImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/hero-4eaa561121a703742d0016b7a60b69e0cc262dc8-1692x852.png" -heroImageAlt: "Elsevier" +metaImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png" +heroImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg" +heroImageAlt: "The figure 10 months set large in ink over a soft cyan field, captioned One tech lead built Elsevier's peer review MVP." tags: - "case-study" --- diff --git a/apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx b/apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx index 6d58729e85..cdba0a5fda 100644 --- a/apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx +++ b/apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Enabling CORS for Express-GraphQL & Apollo Server | Prisma" metaDescription: "Learn how to enable CORS in Express-GraphQL and Apollo Server so browser clients can safely call your GraphQL API across origins." -metaImagePath: "/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero-88be8d72c611e06bf0170f1e0416f589d50262dd-720x481.jpg" -heroImagePath: "/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero-88be8d72c611e06bf0170f1e0416f589d50262dd-720x481.jpg" -heroImageAlt: "Enabling CORS for Express-GraphQL & Apollo Server" +metaImagePath: "/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png" +heroImagePath: "/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg" +heroImageAlt: "Two origin plates on light paper, a browser app on localhost:3000 and a GraphQL server on localhost:4000, separated by a dashed origin boundary that opens where app.use(cors()) lets the request cross." --- Learn how to configure cross-origin resource sharing on your express-based GraphQL servers. diff --git a/apps/blog/content/blog/esop-exercise-windows/index.mdx b/apps/blog/content/blog/esop-exercise-windows/index.mdx index a43eec6958..fc21e51e80 100644 --- a/apps/blog/content/blog/esop-exercise-windows/index.mdx +++ b/apps/blog/content/blog/esop-exercise-windows/index.mdx @@ -6,9 +6,9 @@ authors: - "Martin Janse van Rensburg" metaTitle: "Prisma | A Business Case for Extended ESOP Exercise Windows" metaDescription: "Explore extending ESOPs to 10 years, considering fairness, economics, benefits, challenges with Prisma's example, and startup compensation." -metaImagePath: "/esop-exercise-windows/imgs/meta-da1df6bc6f7afc4cf8f1620698c60d0c2a6cd768-1200x630.png" -heroImagePath: "/esop-exercise-windows/imgs/hero-187cb6c0e9ac7a4c48892a3e196329e955984278-844x474.svg" -heroImageAlt: "Extended ESOP Exercise Windows" +metaImagePath: "/esop-exercise-windows/imgs/meta.png" +heroImagePath: "/esop-exercise-windows/imgs/hero.svg" +heroImageAlt: "Two exercise windows on the same ten-year scale: the standard 90 days is a thin grey sliver, while Prisma's ten-year window fills the full amber track." --- As a progressive OSS SaaS company, we are expanding our commitment to transparency by sharing insights into our operational practices, starting with our approach to stock options. diff --git a/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx b/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx index 94c31feb54..50b3e4b1d8 100644 --- a/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx +++ b/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx @@ -6,9 +6,9 @@ authors: - "Marc Hess" metaTitle: "Formbricks' success story: Enhancing scalability with Prisma Accelerate" metaDescription: "Learn how Formbricks tackled performance bottlenecks and enhanced server performance and user experience with Prisma Accelerate." -metaImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta-e5f44f24630fabc28fd03092a220f9ad09fccc84-1800x945.png" -heroImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero-2dedf610e6c3e1bfd7d7d262e086c9ced48412fa-804x474.svg" -heroImageAlt: "Prisma Accelerate Logo and Formbricks Logo" +metaImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png" +heroImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg" +heroImageAlt: "A grid of serverless function instances funnels into a single cyan Prisma Accelerate connection pool that carries one pooled connection to the database." tags: - "platform" - "case-study" diff --git a/apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx b/apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx index b489c2a096..db6f1ca308 100644 --- a/apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx +++ b/apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx @@ -6,9 +6,9 @@ authors: - "Jon Harrell" metaTitle: "Prisma ORM Architecture Shift: Why We Moved from Rust to TypeScript" metaDescription: "Why is Prisma ORM switching from Rust to TypeScript? Read the full architectural rationale and what the new Query Compiler means for your app's speed" -metaImagePath: "/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta-ded124ddfa8412b0d678ab94a9804127188fde00-1266x711.png" -heroImagePath: "/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero-0f2a3395d4395fe407ce7fb6b603bb7c5ff3e460-844x474.svg" -heroImageAlt: "Prisma ORM Architecture Shift: Why We Moved from Rust to TypeScript" +metaImagePath: "/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png" +heroImagePath: "/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg" +heroImageAlt: "A struck-through 14 MB for the Rust query engine above a large 1.6 MB for the new TypeScript query compiler." series: rust-to-typescript-migration-journey seriesIndex: 1 --- diff --git a/apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx b/apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx index dd13a37912..3a849b5fdc 100644 --- a/apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx +++ b/apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx @@ -7,9 +7,9 @@ authors: - "Ryan Chenkie" metaTitle: "Full Stack Type Safety: Angular, NestJS, Nx, Prisma 2 (2021)" metaDescription: "A 2021 tutorial on sharing Prisma 2 types across an Angular and NestJS app in an Nx monorepo. The technique still applies; commands and APIs have changed." -metaImagePath: "/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta-6edf92a2f15ffb62ed50e0da3deed2b2908d0156-2398x1208.png" -heroImagePath: "/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero-2e21e72be724fc37acc24f269c8b6a0628ad5a18-870x438.jpg" -heroImageAlt: "Full Stack Type Safety with Angular, Nest, Nx, and Prisma" +metaImagePath: "/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png" +heroImagePath: "/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg" +heroImageAlt: "A diagram showing the generated Product type from @prisma/client flowing into a NestJS ProductsController and an Angular ProductService." tags: - "education" --- diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx index 7ffd894f53..b1de94b02c 100644 --- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx +++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx @@ -7,9 +7,9 @@ authors: - "Alex Ruheni" metaTitle: "Fullstack app with TypeScript, Next.js, Prisma & GraphQL - GraphQL API" metaDescription: "Learn how to build a fullstack app using TypeScript, PostgreSQL, Next.js, GraphQL and Prisma. In this article you are going to create a GraphQL API'" -metaImagePath: "/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero-3c25e8ccea9b86c6d7a625f95cd6b42f76c8c5e7-1269x714.png" -heroImagePath: "/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero-3c25e8ccea9b86c6d7a625f95cd6b42f76c8c5e7-1269x714.png" -heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: GraphQL API" +metaImagePath: "/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png" +heroImagePath: "/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg" +heroImageAlt: "The REST paths /users and /favorites struck through above a large /api/graphql endpoint underlined in Postgres yellow." series: fullstack-nextjs-graphql-prisma seriesIndex: 2 diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx index 99ed0327e6..7f9a6fbd3e 100644 --- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx +++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx @@ -7,9 +7,9 @@ authors: - "Alex Ruheni" metaTitle: "Fullstack app with TypeScript, Next.js, Prisma & GraphQL - Authentication" metaDescription: "Learn how to build a fullstack app using TypeScript, PostgreSQL, Next.js, GraphQL, and Prisma. In this article, you will learn how to add authentication and authorization to your application using Auth0" -metaImagePath: "/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta-91075c8f117cdbd825ecc504f44bf57d5916e0af-1269x714.png" -heroImagePath: "/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero-6e7a91ceafb378a17154ba9cb238ed0953434c64-844x474.svg" -heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Authentication" +metaImagePath: "/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png" +heroImagePath: "/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg" +heroImageAlt: "An ink code card of graphql/context.ts reading the Auth0 session and returning the user and access token as the GraphQL context." series: fullstack-nextjs-graphql-prisma seriesIndex: 3 tags: diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx index c8a6e12a66..71b6d48737 100644 --- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx +++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx @@ -7,9 +7,9 @@ authors: - "Alex Ruheni" metaTitle: "Fullstack app with TypeScript, Next.js, Prisma & GraphQL - Image upload " metaDescription: "Learn how to build a fullstack app using TypeScript, PostgreSQL, Next.js, GraphQL and Prisma. In this article you are going to learn how to add image upload using AWS S3" -metaImagePath: "/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta-020d4caf40065aad2ab5d59cff56d2bec9470bd9-1269x714.png" -heroImagePath: "/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero-0672449d4925722e1d058122cf3ef071ca3235e4-844x474.svg" -heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Image upload" +metaImagePath: "/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png" +heroImagePath: "/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg" +heroImageAlt: "A three-step flow: the admin.tsx upload form posts a file straight to an S3 bucket using a presigned POST from the /api/upload-image route, then the createLink mutation saves the imageUrl in Postgres." series: fullstack-nextjs-graphql-prisma seriesIndex: 4 tags: diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx index 6f0d9ab140..65843f5022 100644 --- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx +++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx @@ -7,9 +7,9 @@ authors: - "Mahmoud Abdelwahab" metaTitle: "Fullstack app with TypeScript, Next.js, Prisma & GraphQL - Deployment" metaDescription: "Learn how to build a fullstack app using TypeScript, PostgreSQL, Next.js, GraphQL and Prisma. In this article you are going to deploy your app to Vercel" -metaImagePath: "/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta-6b91985fb8bb4d0d06e95090aab1d8b0ede0696b-1269x714.png" -heroImagePath: "/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero-487ed996090048a8225eec985d2ea001c5e1486b-844x474.svg" -heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Deployment" +metaImagePath: "/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png" +heroImagePath: "/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg" +heroImageAlt: "Three serverless function tiles fan into a highlighted connection pool node, which forwards a single connection to a PostgreSQL node labelled connection limit." series: fullstack-nextjs-graphql-prisma seriesIndex: 5 tags: diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx index 600557ace1..bd32546741 100644 --- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx +++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx @@ -7,9 +7,9 @@ authors: - "Mahmoud Abdelwahab" metaTitle: "Fullstack Next.js, GraphQL & Prisma 4 Tutorial (2021)" metaDescription: "Part 1 of a 2021 course building a fullstack app with Next.js (Pages Router), GraphQL, Prisma 4, and PostgreSQL: data modeling, migrations, and seeding." -metaImagePath: "/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta-1ec6d4e3035143375360a59242258c3c93609907-1269x714.png" -heroImagePath: "/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero-cf0efe94442ee755fc47d4c085a10f2b453c74a6-844x475.svg" -heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Data Modeling" +metaImagePath: "/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png" +heroImagePath: "/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg" +heroImageAlt: "Two Prisma schema cards, User and Link, joined by a cyan many-to-many relation line linking the bookmarks field to the users field." series: fullstack-nextjs-graphql-prisma seriesIndex: 1 tags: diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx index 7bde7d6f15..4d06e0e7c9 100644 --- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx +++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB - Project Setup" metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be setting up our project, the MongoDB instance, Prisma, and begin modeling out some of our data for the next section of this series." -metaImagePath: "/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta-f24cae902752ee69692b9010216f2d207af37321-1920x1080.png" -heroImagePath: "/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero-23f25185781fa115971071b951ef70832386640b-844x474.svg" -heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: Project Setup" +metaImagePath: "/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png" +heroImagePath: "/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg" +heroImageAlt: "Three stacked planes on light paper labelled Remix (React framework), Prisma (object document mapper) highlighted in cyan, and MongoDB (Atlas cluster), beside the headline Building Kudos, step one." series: fullstack-remix-prisma-mongodb seriesIndex: 1 tags: diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx index 9fb599ccd0..224034c673 100644 --- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx +++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB - Authentication" metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be setting up authentication for our Remix application using session-based authentication." -metaImagePath: "/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta-4b70ee51aee99eaddac2a48baa614189c5fa74c2-1920x1080.png" -heroImagePath: "/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero-29016ded5a59403f81349c8247116f8f084a0ae2-844x474.svg" -heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: Authentication" +metaImagePath: "/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png" +heroImagePath: "/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg" +heroImageAlt: "A flow of the article's session-based authentication: sign in, validate, login(), a kudos-session cookie, then the home route, with a dashed error path back to the form." series: fullstack-remix-prisma-mongodb seriesIndex: 2 diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx index b29daf565f..14c6fde4b1 100644 --- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx +++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB: CRUD, Filtering & Sorting" metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be building the functionality that allows users to send kudos to each other along with some searching and sorting options." -metaImagePath: "/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta-ec93dfa6d5929320447e9fa9610b276088e86dd8-1920x1080.png" -heroImagePath: "/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero-45f6a2c1b0de348ea063b18dba5fb66f7dbb7594-844x474.svg" -heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: CRUD, Filtering & Sorting" +metaImagePath: "/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png" +heroImagePath: "/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg" +heroImageAlt: "A diagram of the kudos data model: a User as author points to a Kudo document holding message, createdAt and style, which points on to the recipient User." series: fullstack-remix-prisma-mongodb seriesIndex: 3 tags: diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx index 6422127d10..7ffa74f26c 100644 --- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx +++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB - Referential Integrity & Image Uploads" metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be building the profile settings section of the website and enhancing the data model to provide better referential integrity.'" -metaImagePath: "/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta-fa4a72549e81768cec73ac357b0dacc1a4985cb6-1920x1080.png" -heroImagePath: "/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero-a48a8ff2b7f60d0db82366f887ef868ba1ffe6ff-844x474.svg" -heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: Referential Integrity & Image Uploads" +metaImagePath: "/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png" +heroImagePath: "/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg" +heroImageAlt: "A relation diagram of a deleted User record with three ghosted Kudo records fanning out from it, the edge labelled onDelete: Cascade." series: fullstack-remix-prisma-mongodb seriesIndex: 4 tags: diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx index 740cd6aed6..5de5e7e40f 100644 --- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx +++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB - Deployment" metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be deploying the application we have built throughout this series." -metaImagePath: "/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta-0c44161122fc6096b266ce2463146d441aef52f4-1920x1080.png" -heroImagePath: "/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero-a00a8da49b238e170ebeea1caa4d9a67fec1db3d-844x474.svg" -heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: Deployment" +metaImagePath: "/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png" +heroImagePath: "/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg" +heroImageAlt: "A three-card flow on a light surface: GitHub project repo, a Vercel project using the Remix preset, and a highlighted MongoDB card labelled 'allow access from anywhere'." series: fullstack-remix-prisma-mongodb seriesIndex: 5 tags: diff --git a/apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx b/apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx index 7bb008ee38..f49a0e853a 100644 --- a/apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx +++ b/apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Getting Started with Relay Modern | Prisma" metaDescription: "Follow a step-by-step tutorial for building an Instagram-style app with Relay Modern, GraphQL, and Create React App." -metaImagePath: "/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero-703a89ee445ad7c79ca9de6acc53c27a8e49204f-900x482.png" -heroImagePath: "/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero-703a89ee445ad7c79ca9de6acc53c27a8e49204f-900x482.png" -heroImageAlt: "Getting Started with Relay Modern" +metaImagePath: "/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png" +heroImagePath: "/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg" +heroImageAlt: "A dark code card holding the tutorial's GraphQL fragment Post_post on Post with the fields id, description and imageUrl." --- This post is a step-by-step tutorial with the goal of building a simple Instagram application from scratch using diff --git a/apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx b/apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx index fe0cdb4746..46ec343988 100644 --- a/apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx +++ b/apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx @@ -6,9 +6,9 @@ authors: - "Dennis Walsh" metaTitle: "GraphQL Directive Permissions — Authorization Made Easy | Prisma" metaDescription: "Learn how GraphQL directive permissions provide a declarative way to implement authorization rules and protect data in GraphQL servers." -metaImagePath: "/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero-210b2d6ae4e602480f1fee9860018b83891660ee-900x482.png" -heroImagePath: "/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero-210b2d6ae4e602480f1fee9860018b83891660ee-900x482.png" -heroImageAlt: "GraphQL Directive Permissions — Authorization Made Easy" +metaImagePath: "/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png" +heroImagePath: "/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg" +heroImageAlt: "An ink code card showing a GraphQL Vehicle type with the @hasRole and @isAuthenticated directives picked out in red." --- Directive permissions are a declarative way of implementing authorization rules in GraphQL servers. In this article, diff --git a/apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx b/apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx index bd504bfda5..a751bfecb2 100644 --- a/apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx +++ b/apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "GraphQL Europe 2018: the community comes together in Berlin" metaDescription: "GraphQL Europe 2018 brought the community together in Berlin with talks, workshops, and discussions on the future of GraphQL." -metaImagePath: "/graphql-eu-18-eiw8bishe2di/imgs/hero-aa07614217b24348635532e5f06f7be6230c9077-1200x630.png" -heroImagePath: "/graphql-eu-18-eiw8bishe2di/imgs/hero-aa07614217b24348635532e5f06f7be6230c9077-1200x630.png" -heroImageAlt: "GraphQL Europe 2018: The GraphQL community comes together in Berlin" +metaImagePath: "/graphql-eu-18-eiw8bishe2di/imgs/meta.png" +heroImagePath: "/graphql-eu-18-eiw8bishe2di/imgs/hero.svg" +heroImageAlt: "Six companies from the conference line-up (Facebook, GitHub, Twitter, Docker, Apollo, Shopify) joined by hairlines to a red disc labelled Berlin." --- GraphQL Europe is happening in less than two weeks! This article reviews the highlights from our past GraphQL diff --git a/apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx b/apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx index 33d1f179a8..0fd8a2ae60 100644 --- a/apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx +++ b/apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "GraphQL Middleware is Open Source - Library to Simplify Your Resolvers" metaDescription: "GraphQL Middleware lets you run reusable logic around resolvers for cleaner authorization, logging, error handling, and code organization." -metaImagePath: "/graphql-middleware-zie3iphithxy/imgs/hero-00450644ec19cc8a354555367848ee135f88561c-1200x630.png" -heroImagePath: "/graphql-middleware-zie3iphithxy/imgs/hero-00450644ec19cc8a354555367848ee135f88561c-1200x630.png" -heroImageAlt: "Open Sourcing GraphQL Middleware - Library to Simplify Your Resolvers" +metaImagePath: "/graphql-middleware-zie3iphithxy/imgs/meta.png" +heroImagePath: "/graphql-middleware-zie3iphithxy/imgs/hero.svg" +heroImageAlt: "Three nested rounded panels labelled logInput, logResult and resolver, showing two middleware functions wrapping a GraphQL resolver at the cyan core." --- [GraphQL Middleware](https://github.com/prismagraphql/graphql-middleware) lets you run arbitrary code before or after diff --git a/apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx b/apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx index 80bac854f4..bae316ea81 100644 --- a/apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx +++ b/apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "GraphQL Schema Stitching explained: Schema Delegation | Prisma" metaDescription: "Understand GraphQL schema delegation and how schema stitching combines multiple services into a unified GraphQL API." -metaImagePath: "/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero-b01f755cd26e943970fb26c0395027a491baa9a0-720x480.jpg" -heroImagePath: "/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero-b01f755cd26e943970fb26c0395027a491baa9a0-720x480.jpg" -heroImageAlt: "GraphQL Schema Stitching explained" +metaImagePath: "/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png" +heroImagePath: "/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg" +heroImageAlt: "Two white schema cards on light paper, an application schema field “prismagraphql: Organization!” and the GitHub GraphQL API’s “repositoryOwner”, joined by a red arrow labelled delegateToSchema." --- Understanding GraphQL schema stitching (Part II) diff --git a/apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx b/apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx index a054b490b4..9ea5284f5d 100644 --- a/apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx +++ b/apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Learn more about the GraphQL SDL — Schema Definition Language" metaDescription: "Learn the GraphQL Schema Definition Language (SDL) and how it is used to define types, fields, arguments, and relationships in GraphQL schemas." -metaImagePath: "/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero-5d02853f87e521b189e585083a6fa90709310007-900x482.png" -heroImagePath: "/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero-5d02853f87e521b189e585083a6fa90709310007-900x482.png" -heroImageAlt: "GraphQL SDL " +metaImagePath: "/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png" +heroImagePath: "/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg" +heroImageAlt: "A dark code card showing a GraphQL SDL type definition for Post, with the blog relation field highlighted in red, on a paper background with a prism wash." --- GraphQL has its own language to write GraphQL Schemas: The GraphQL Schema Definition Language (SDL). SDL is simple and diff --git a/apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx b/apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx index 31103c5491..35b31d8409 100644 --- a/apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx +++ b/apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "GraphQL Server Basics: Demystifying the `info` Argument in Resolvers" metaDescription: "Learn what the `info` argument in GraphQL resolvers contains and how it helps with selection sets, execution context, and server internals." -metaImagePath: "/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero-53626cca942e63310e547d4bc3575d78fad23c84-720x479.png" -heroImagePath: "/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero-53626cca942e63310e547d4bc3575d78fad23c84-720x479.png" -heroImageAlt: "GraphQL Basics" +metaImagePath: "/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png" +heroImagePath: "/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg" +heroImageAlt: "The resolver signature (parent, args, context, info) set above the word info at display size, with the ten keys of GraphQLResolveInfo listed down the right side." --- Structure and Implementation of GraphQL Servers (Part III) diff --git a/apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx b/apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx index 1572476287..9f63435476 100644 --- a/apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx +++ b/apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "GraphQL Server Basics: The Network Layer | Prisma" metaDescription: "Learn how the network layer controls request handling, transport, and execution flow in GraphQL server implementations." -metaImagePath: "/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero-244004bc5e6c3eb9d27aacabfb68d51510ea275e-900x429.png" -heroImagePath: "/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero-244004bc5e6c3eb9d27aacabfb68d51510ea275e-900x429.png" -heroImageAlt: "GraphQL Server Basics" +metaImagePath: "/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png" +heroImagePath: "/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg" +heroImageAlt: "A three-row card listing express-graphql, apollo-server and graphql-yoga under the line: Middleware is the glue, with the graphql-yoga row tinted in prism cyan." --- Structure and Implementation of GraphQL Servers (Part II). diff --git a/apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx b/apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx index ab87676663..9918b7beb5 100644 --- a/apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx +++ b/apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "GraphQL Server Basics: GraphQL Schemas, TypeDefs & Resolvers | Prisma" metaDescription: "Learn the basics of GraphQL schemas, type definitions, and resolvers, and how they fit together in GraphQL server development." -metaImagePath: "/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero-4b7f2edb1e23c9afd77908b058e6904ada648cc2-900x519.png" -heroImagePath: "/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero-4b7f2edb1e23c9afd77908b058e6904ada648cc2-900x519.png" -heroImageAlt: "GraphQL Server Basics" +metaImagePath: "/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png" +heroImagePath: "/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg" +heroImageAlt: "A dark code card showing a GraphQL SDL schema with a Query root type and a User type, each of its three fields marked with a red dot beside the words One resolver per field." --- Structure and implementation of GraphQL servers (Part I) diff --git a/apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx b/apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx index 27d4795f56..36a26994a5 100644 --- a/apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx +++ b/apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Comparing GraphQL and Firebase | Prisma" metaDescription: "Compare GraphQL and Firebase across data modeling, realtime features, backend flexibility, and tradeoffs for modern app development." -metaImagePath: "/graphql-vs-firebase-496498546142/imgs/hero-c257f8c747d9610f835954d2fe2601bda2b0bff3-720x385.png" -heroImagePath: "/graphql-vs-firebase-496498546142/imgs/hero-c257f8c747d9610f835954d2fe2601bda2b0bff3-720x385.png" -heroImageAlt: "GraphQL vs Firebase" +metaImagePath: "/graphql-vs-firebase-496498546142/imgs/meta.png" +heroImagePath: "/graphql-vs-firebase-496498546142/imgs/hero.svg" +heroImageAlt: "The headline 'A type system, not a JSON tree' beside the article's GraphQL SDL data model for a Twitter-like app, with the relation field picked out in red." --- With the variety of server-side technologies today, developers have a lot of choices when it comes to deciding what diff --git a/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx b/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx index 2416a1a983..9e7d97f899 100644 --- a/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx +++ b/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx @@ -6,9 +6,9 @@ authors: - "Ryan Chenkie" metaTitle: "How Grover Moves Faster and is More Productive with Prisma" metaDescription: "Grover has many individual development teams that each work in slightly different stacks. Prisma is catching on as a way to help their teams move faster and be more confident in their code." -metaImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta-cb121051733205088c9beee9cc8b5b4553e3988a-1692x852.png" -heroImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero-3fcd833a161c68af69d2c13eafb3369f343e0856-844x474.png" -heroImageAlt: "How Grover Moves Faster with Prisma" +metaImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png" +heroImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg" +heroImageAlt: "A diagram on a light background: tiles labelled TypeScript (marked prisma), Ruby and Python connect by arrows into one node labelled Federated GraphQL API, Apollo Federation, beside the words 14 services, one federated API." tags: - "case-study" --- diff --git a/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx b/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx index 2d69931b1b..683bd2abd2 100644 --- a/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx +++ b/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx @@ -6,9 +6,9 @@ authors: - "Justin Ellingwood" metaTitle: "Learn how Prisma Helps Rapha Manage Their Mobile Application Data" metaDescription: "Learn how Rapha uses Prisma to manage mobile application data and deliver consistent APIs across platforms and backend systems." -metaImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero-b0f3d722a514f161e410fc12ccf0e00e562b5ecb-1692x852.jpg" -heroImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero-b0f3d722a514f161e410fc12ccf0e00e562b5ecb-1692x852.jpg" -heroImageAlt: "How Prisma Helps Rapha Manage Their Mobile Application Data" +metaImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png" +heroImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg" +heroImageAlt: "A flow from a PostgreSQL database on Amazon RDS through Prisma and its schema file to a GraphQL API served by Apollo Server, feeding Rapha's iOS and Android apps." tags: - "case-study" --- diff --git a/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx b/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx index 56c72a2f64..652e14d7c6 100644 --- a/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx +++ b/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx @@ -6,9 +6,9 @@ authors: - "Aidan McAlister" metaTitle: "How Bucket Uses Prisma ORM to Make Shipping Feature Releases Faster" metaDescription: "Learn how Bucket uses Prisma" -metaImagePath: "/how-bucket-uses-prisma-orm/imgs/meta-2912dd24525d0768088b7b6c6209b19bfba0d92f-1266x711.png" -heroImagePath: "/how-bucket-uses-prisma-orm/imgs/hero-529b3d14590540555baed7e42696fe030fb8d435-855x480.png" -heroImageAlt: "Prisma Logo and Bucket Logo" +metaImagePath: "/how-bucket-uses-prisma-orm/imgs/meta.png" +heroImagePath: "/how-bucket-uses-prisma-orm/imgs/hero.svg" +heroImageAlt: "A three-step flow on light paper - define the models, run one migration, tables ready - the path Bucket follows to add new tables with Prisma ORM." tags: - "case-study" - "orm" diff --git a/apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx b/apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx index aa316ac884..556786d826 100644 --- a/apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx +++ b/apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx @@ -6,9 +6,9 @@ authors: - "Marc Hess" metaTitle: "How Co.dev Uses Prisma Postgres to Power AI-Driven App Development for Non-Developers" metaDescription: "Discover why Co.dev chose Prisma Postgres: simple API & MCP integration, explicit schema support, and one-shot authentication in its AI-driven app creation flow." -metaImagePath: "/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta-09f23372479a0a2b3a10304fc133043fa4d50948-1266x711.png" -heroImagePath: "/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero-89282cc5e9c28bfbb3573c7bd396226f11b08089-844x474.svg" -heroImageAlt: "On a dark teal-green gradient background, the Co.dev and Prisma logos appear side by side with a plus sign. Below, large white text reads ‘AI-Driven App Development for Non-Developers,’ and a curved teal arrow points right. On the right, two overlapping dark code editor panels show a teal header labeled ‘Let’s make an Instagram clone’ above blurred lines of text, and a front panel titled ‘Generating Instagram UI…’ with additional blurred code lines." +metaImagePath: "/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png" +heroImagePath: "/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg" +heroImageAlt: "A three-step flow of white cards on light paper: Prompt, then a highlighted Prisma Postgres card labelled Partner API and MCP, then Full-stack app, connected by yellow arrows." --- Co.dev (YC W23) lets non-developers build production-ready full-stack apps in minutes by combining AI-driven code generation with integrated tooling, all powered by a strategic partnership with **Prisma** via the **Prisma Postgres Partner API** and MCP server integration. diff --git a/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx b/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx index 535071d781..be3ba3dfe0 100644 --- a/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx +++ b/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx @@ -6,9 +6,9 @@ authors: - "Marc Hess" metaTitle: "How Deno and Prisma Partnered to Power Per-Branch Databases" metaDescription: "Deno Deploy integrates Prisma Postgres for instant per-branch databases, enabling seamless full-stack deployment and modern developer workflows." -metaImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta-b375e2f9e09737edda70601ea1d7094878822700-1200x630.png" -heroImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero-45aa700bfa2da328ccb88b64d312672e25c2b263-844x474.svg" -heroImageAlt: "Deno and Prisma Partnership" +metaImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png" +heroImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg" +heroImageAlt: "A Deno Deploy node branching into three lines, each ending in its own Prisma Postgres database" tags: - "case-study" - "prisma-postgres" diff --git a/apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx b/apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx index 84519b4c77..4b43b6d695 100644 --- a/apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx +++ b/apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Learn how GraphQL remote schemas work? | Prisma" metaDescription: "Learn how GraphQL remote schemas work and how schema stitching can combine data from multiple GraphQL services." -metaImagePath: "/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero-da5c4b73a3fd5b55d0301343f2b5698eedc64f9e-900x545.jpg" -heroImagePath: "/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero-da5c4b73a3fd5b55d0301343f2b5698eedc64f9e-900x545.jpg" -heroImageAlt: "How do GraphQL remote schemas work?" +metaImagePath: "/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png" +heroImagePath: "/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg" +heroImageAlt: "A diagram where a client query passes through a remote schema built with makeRemoteExecutableSchema and is forwarded to an existing GraphQL API, whose schema definition was obtained by introspection." --- Understanding GraphQL schema stitching (Part I) diff --git a/apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx b/apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx index 79f6745ab1..7e59b73c4b 100644 --- a/apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx +++ b/apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx @@ -6,8 +6,9 @@ authors: - "Ryan Chenkie" metaTitle: "How GreatFrontEnd Supercharged Development with Prisma ORM" metaDescription: "Discover how GreatFrontEnd revolutionized their database operations by integrating Prisma ORM—achieving type safety, streamlined schema management, and a more efficient development pipeline." -metaImagePath: "/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta-a323448cc92e5d106e51a671d0f1d07d8667e306-1266x711.png" -heroImagePath: "/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero-ca1f358db8d06f5017b9d07ffb9d2dee6dac1197-844x474.svg" +metaImagePath: "/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png" +heroImagePath: "/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg" +heroImageAlt: "A three-row comparison of raw SQL against Prisma ORM across type safety, schema changes and portability, with the Prisma ORM column tinted cyan." --- Discover how GreatFrontEnd revolutionized their database operations by integrating Prisma ORM—achieving type safety, streamlined schema management, and a more efficient development pipeline. diff --git a/apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx b/apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx index d0f1accfcc..078c831914 100644 --- a/apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx +++ b/apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx @@ -6,9 +6,9 @@ authors: - "Marc Hess" metaTitle: "How MasterBoard Simplified CI/CD Testing with Prisma Postgres" metaDescription: "MasterBoard replaced AWS with Prisma Postgres to simplify infrastructure and streamline testing. Discover how they spin up fresh databases for every PR, test with real data, and ship faster with less setup, more speed, and top-tier support from Prisma." -metaImagePath: "/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta-e680c2113c3e4838d591e4cac9d2889ea7317998-1266x711.png" -heroImagePath: "/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero-1f23e9b31ddcd853665664a9c2039b7c413a587e-844x474.svg" -heroImageAlt: "MasterBoard and Prisma logos side by side on a dark gradient background. The MasterBoard logo appears on the left with bold, stylized typography, and the Prisma logo with its geometric icon and wordmark appears on the right, separated by a vertical line." +metaImagePath: "/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png" +heroImagePath: "/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg" +heroImageAlt: "Three cascading database plates, one per pull request, with the newest one outlined in Prisma Postgres yellow, beside the line \"A fresh database per pull request, seeded with six months of test data\"." --- [MasterBoard](https://masterboardapp.com/), a startup building software for hydraulics repair shops, switched from AWS to Prisma Postgres to simplify their CI/CD workflows. The move reduced infrastructure overhead, simplified testing and deployment, and gave both developers and testers faster, hassle-free workflows. diff --git a/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx b/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx index 8c238ef40e..9e0935b1fb 100644 --- a/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx +++ b/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx @@ -6,9 +6,9 @@ authors: - "Vladi Stevanovic" metaTitle: "The migration to Prisma was so smooth that none of their hundreds of agents and customers experienced any downtime." metaDescription: "Invisible combines best-in-class, easy to implement, scalable automation solutions. Prisma was crucial in future proofing their stack and supporting its scale." -metaImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta-86c169055f2cef3afec8529ac1a1f9d2feb2e9ec-1692x852.png" -heroImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero-6c079320ad9b2a389f2419759abe8b2089f4b2d4-870x438.png" -heroImageAlt: "How migrating from Sequelize to Prisma allowed Invisible to scale" +metaImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png" +heroImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg" +heroImageAlt: "The words Zero downtime set very large in black on a light background, above two small chips reading sequelize and prisma joined by a cyan arrow." tags: - "case-study" --- diff --git a/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx b/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx index 09a2e07b84..8c1b1fa6e9 100644 --- a/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx +++ b/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "How Prisma & Serverless Fit Together" metaDescription: "Learn about how Prisma views the evolution of deployment types, serverless and the edge, and the problems we want to solve in the space." -metaImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta-16bd738ba008cf22a31f583608f1717f4dfffb34-1266x712.png" -heroImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero-39edebe28834872f6ce4c951529f02ea55725adc-844x474.svg" -heroImageAlt: "How Prisma & Serverless Fit Together" +metaImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png" +heroImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg" +heroImageAlt: "A light cover listing four deployment eras, bare metal, virtual machines and containers in grey above 'Serverless & the edge' in black, with the note that databases didn't follow." tags: - "platform" --- diff --git a/apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx b/apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx index 1ec6850a74..0a1018dc7e 100644 --- a/apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx +++ b/apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx @@ -7,9 +7,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma ORM: The Most Downloaded ORM for Node.js and TypeScript" metaDescription: "Prisma ORM is the most downloaded ORM for Node.js, with roughly 55 million npm downloads per month as of July 2026. See the numbers, the story behind them, and what came next." -metaImagePath: "/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta-1b20c9918f8c70edad559c02e68c2f0098514e92-1266x711.png" -heroImagePath: "/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero-09a857300a35ccb0e825102b49c0477ce6a88d3c-844x474.svg" -heroImageAlt: "A friendly prismanaut climbing the npm trends mountain to #1 in npm downloads" +metaImagePath: "/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png" +heroImagePath: "/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg" +heroImageAlt: "A column chart of npm downloads for Node.js ORMs over the 30 days to 5 July 2026: prisma 55.3M highlighted in cyan, ahead of drizzle-orm 48.1M, typeorm 19.3M and sequelize 11.8M." tags: - "orm" --- diff --git a/apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx b/apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx index 912a7d88ae..3410f30988 100644 --- a/apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx +++ b/apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx @@ -7,9 +7,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Learn How Prisma Supports Database Transactions | Prisma" metaDescription: "Learn how Prisma supports database transactions, the tradeoffs of different transaction patterns, and how Prisma's transaction capabilities have evolved." -metaImagePath: "/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero-644cfd40037273136103e964bfde80be554c43a7-1692x852.png" -heroImagePath: "/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero-644cfd40037273136103e964bfde80be554c43a7-1692x852.png" -heroImageAlt: "How Prisma Supports Database Transactions" +metaImagePath: "/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png" +heroImagePath: "/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg" +heroImageAlt: "The phrase All or nothing set large between two oversized cyan brackets, standing for a transaction whose grouped operations either all commit or all roll back." --- Database transactions often are a major source of complexity in server-side applications. In this article, we'll examine how Prisma supports different types of database transactions _today_ as well as our plans for expanding transaction support _in the future_. diff --git a/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx b/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx index 529d647fce..7019f3f06a 100644 --- a/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx +++ b/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "How Solin Uses Prisma Accelerate to Serve 2.5M Database Queries per" metaDescription: "Learn how Prisma Accelerate has contributed to Solin's success by enhancing performance and reliability with its scalable connection pool and global database cache." -metaImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta-1ca84fbcd21cf4ba2965d4581c6b2e4ccbeba496-1688x948.png" -heroImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero-501535574f7a2c835073bf096890b78dd3ee3490-844x474.svg" +metaImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png" +heroImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg" +heroImageAlt: "The figure 2.5M set in oversized type beside the label database queries per day, captioned Solin, running on Prisma Accelerate." tags: - "case-study" --- diff --git a/apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx b/apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx index f95ebd35a3..ef7c489e9d 100644 --- a/apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx +++ b/apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Building a Real-Time Chat with GraphQL Subscriptions and Apollo" metaDescription: "Build a real-time chat app with GraphQL subscriptions, Apollo, and live location updates on a shared map." -metaImagePath: "/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero-c189aafe68785bbb4ff4f8c3e303c7f1ced92ea9-720x385.png" -heroImagePath: "/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero-c189aafe68785bbb4ff4f8c3e303c7f1ced92ea9-720x385.png" -heroImageAlt: "How to build a Real-Time Chat with GraphQL Subscriptions and Apollo" +metaImagePath: "/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png" +heroImagePath: "/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg" +heroImageAlt: "A dark code card showing a GraphQL subscription on the Message type, with the mutation field highlighted in cyan beside a comment reading CREATED, UPDATED, DELETED." --- In this tutorial, we explain how to build a chat application where the users can see their own and the locations of diff --git a/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx b/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx index 10962cc163..b6a0d990a0 100644 --- a/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx +++ b/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx @@ -6,9 +6,9 @@ authors: - "Sabin Adams" metaTitle: "Best Practices To Speed Up Your Serverless Applications" metaDescription: "Learn about some best practices to speed up your serverless applications using Prisma." -metaImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta-76ae590ec7affe2930cc868334e99844d136473b-1266x711.png" -heroImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero-e09fcabd4fa41b7b452a43664dea361d78f10e82-844x474.svg" -heroImageAlt: "Best Practices To Speed Up Your Serverless Applications" +metaImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png" +heroImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg" +heroImageAlt: "A dark code card showing a Prisma Client instantiated and connected above a serverless handler, with the await prisma.$connect() line highlighted in cyan." tags: - "education" --- diff --git a/apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx b/apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx index c999fa84b0..a1707093fc 100644 --- a/apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx +++ b/apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Using `create-react-app` with GraphQL & Apollo | Prisma" metaDescription: "Learn how to build an Instagram-style app with Create React App, GraphQL, and Apollo." -metaImagePath: "/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero-d817c94b8e0c665d3296db3d2983002133e7a548-900x619.png" -heroImagePath: "/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero-d817c94b8e0c665d3296db3d2983002133e7a548-900x619.png" -heroImageAlt: "GraphQL & Apollo" +metaImagePath: "/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png" +heroImagePath: "/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg" +heroImageAlt: "An ink code card on light paper showing the tutorial's allPosts GraphQL query from ListPage.js, with the allPosts(orderBy: createdAt_DESC) line highlighted in red, under the headline Wiring React to GraphQL." --- The easiest way to get started with React apps that are using a GraphQL backend is with create-react-app and Apollo. diff --git a/apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx b/apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx index 8d406e1907..d0b85cbac9 100644 --- a/apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx +++ b/apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Wrap a REST API with GraphQL - A 3-step tutorial | Prisma" metaDescription: "Learn how to wrap a REST API with GraphQL in three steps and expose a more flexible query interface for clients." -metaImagePath: "/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero-bf82758030919645523931bf645440e96386e06f-720x385.png" -heroImagePath: "/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero-bf82758030919645523931bf645440e96386e06f-720x385.png" -heroImageAlt: "How to wrap a REST API with GraphQL - A 3-step tutorial" +metaImagePath: "/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png" +heroImagePath: "/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg" +heroImageAlt: "A three-step flow on light paper: REST endpoints, a highlighted GraphQL schema tile, then resolvers." --- REST APIs have been the standard for building web APIs for the past decade. In 2015, Facebook introduced a new and diff --git a/apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx b/apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx index ef364afa13..47a892fe23 100644 --- a/apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx +++ b/apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx @@ -7,9 +7,9 @@ authors: - "Johannes Schickling" metaTitle: "How to Improve Performance with Apollo Query Batching | Prisma" metaDescription: "Learn how Apollo query batching reduces network overhead and improves performance in complex GraphQL applications." -metaImagePath: "/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero-f2e13f2e7910c8249ff5843c46423850eac4455d-1080x231.png" -heroImagePath: "/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero-f2e13f2e7910c8249ff5843c46423850eac4455d-1080x231.png" -heroImageAlt: "Improving Performance with Apollo Query Batching" +metaImagePath: "/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png" +heroImagePath: "/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg" +heroImageAlt: "A request waterfall contrasting twelve GraphQL requests, six of them stalled, with a single batched request." --- Learn about transport-level query batching, an advanced Apollo feature that enables you to significantly improve diff --git a/apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx b/apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx index 67fda7b949..3830437686 100644 --- a/apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx +++ b/apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Improving the Release Process | Prisma" metaDescription: "Learn how Prisma's release process uses dedicated beta periods to improve quality while keeping new features shipping quickly." -metaImagePath: "/improving-prismas-release-process-yaey8deiwaex/imgs/hero-d8dabd6ac06854c11615741cb43bbae8569cdd4e-1200x630.png" -heroImagePath: "/improving-prismas-release-process-yaey8deiwaex/imgs/hero-d8dabd6ac06854c11615741cb43bbae8569cdd4e-1200x630.png" -heroImageAlt: "New Release Process for Prisma" +metaImagePath: "/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png" +heroImagePath: "/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg" +heroImageAlt: "A three-stage flow on light paper - alpha, beta and stable - with the beta stage lit in yellow and labelled two weeks, no new features." --- We're introducing an improved release process with a dedicated beta period to ensure high quality while shipping new diff --git a/apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx b/apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx index 72d5d6dbb7..4b1bbaa218 100644 --- a/apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx +++ b/apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx @@ -7,9 +7,9 @@ authors: - "Alex Ruheni" metaTitle: "Database Indexes Explained: What They Are and When to Use Them" metaDescription: "A database index is a secondary data structure that speeds up reads by reducing search scope. Learn the main index types, what they cost, and when to add one." -metaImagePath: "/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta-c92a4afeb9d9b1df6f8104fced300d5e49233bd0-1269x714.png" -heroImagePath: "/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero-1c62649f62f41f22d8a54c882cd24da906c51479-844x474.svg" -heroImageAlt: "Improving Query Performance with Indexes using Prisma: Introduction" +metaImagePath: "/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png" +heroImagePath: "/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg" +heroImageAlt: "Two rows of tick marks standing for table rows: the sequential-scan row is entirely grey because every row is read, while the index-scan row is pale with only three ticks lit in yellow." series: improving-query-performance-using-indexes seriesIndex: 1 tags: diff --git a/apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx b/apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx index 2b4b06b0ff..c0b9b17d3b 100644 --- a/apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx +++ b/apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx @@ -7,9 +7,9 @@ authors: - "Alex Ruheni" metaTitle: "B-Tree Indexes in Prisma ORM: Make Slow Postgres Queries 80x Faster" metaDescription: "Add a B-tree index in your Prisma schema with @@index and turn a 66ms sequential scan into a sub-millisecond lookup, an 80x improvement verified on Prisma ORM 7 and PostgreSQL 17 with EXPLAIN ANALYZE." -metaImagePath: "/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta-f47ff182b4ce89e7dd52fb5ba19e0850dd24a8fa-1692x952.png" -heroImagePath: "/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero-21765b1aeb13badff0117580a169a45609788d7e-844x474.svg" -heroImageAlt: "Improving Query Performance with Indexes using Prisma: B-Tree Index" +metaImagePath: "/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png" +heroImagePath: "/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg" +heroImageAlt: "A dark code card on a light background showing a Prisma schema User model with the line @@index([firstName]) highlighted in yellow, beside an execution time falling from a struck-through 66.5 ms to 0.8 ms." series: improving-query-performance-using-indexes seriesIndex: 2 tags: diff --git a/apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx b/apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx index ec9e182814..13f3952722 100644 --- a/apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx +++ b/apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx @@ -7,9 +7,9 @@ authors: - "Alex Ruheni" metaTitle: "Hash Indexes in Prisma ORM: Fast Equality Lookups in Postgres" metaDescription: "Add a hash index in Prisma with @@index(type: Hash): a 64ms sequential scan becomes a 1.6ms lookup, verified on Prisma ORM 7 and PostgreSQL 17." -metaImagePath: "/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta-a2babe32fc26290c3dee9a6d0cb09decc68fae6a-1269x714.png" -heroImagePath: "/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero-f7add11b063d3376bf02a64092431ac5397e82ba-844x474.svg" -heroImageAlt: "Improving Query Performance with Indexes using Prisma: Hash Indexes" +metaImagePath: "/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png" +heroImagePath: "/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg" +heroImageAlt: "A diagram on light paper in which the value 'Wick' passes through hash() and a yellow arrow lands in a single lit bucket among eight, labelled 1.6 ms, above the schema line @@index([lastName], type: Hash)." series: improving-query-performance-using-indexes seriesIndex: 3 tags: diff --git a/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx b/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx index 7cbfd13fd3..976cbe6fb5 100644 --- a/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx +++ b/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx @@ -6,9 +6,9 @@ authors: - "Luan van der Westhuizen" metaTitle: "Enhance your database connections with Prisma Accelerate's auto-scaling" metaDescription: "Prisma Accelerate’s new auto-scaling feature improves connection pooling, ensuring efficient and scalable database management." -metaImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/meta-10e47c310be4f5f4dadcdf9d7c80a79bffdbd80a-1266x711.png" -heroImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/hero-6643cd3fa55e6b2554f2256149a7ea9e62df3258-844x474.svg" -heroImageAlt: "Connection pooling using multiple instances of accelerate's connection poolers " +metaImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png" +heroImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg" +heroImageAlt: "A flat diagram: an app sends queries into a connection pool holding two live instances and a dashed third being added on demand, up to your connection limit, then on to the database." tags: - "platform" - "announcement" diff --git a/apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx b/apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx index 16320aa3e6..0be5d8795b 100644 --- a/apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx +++ b/apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx @@ -6,9 +6,9 @@ authors: - "Jon Harrell" metaTitle: "Prisma ORM 5.16.0 allows global or local omitted fields in Prisma Client" metaDescription: "Prisma ORM v5.16.0 allows you to omit fields globally or per-query. This blog post overviews the change and how to omit fields in your Prisma Client queries." -metaImagePath: "/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta-1325214bfbabc8d99d4e2c312dcd142ad5a550d9-1200x630.png" -heroImagePath: "/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero-88b194703cf6aa9c1e4010c7769d1ed078fce438-844x474.svg" -heroImageAlt: "An image describing a new feature with Prisma ORM version 5.16.0. It shows a User model with a password field that is omitted. Text reads \"globally or locally omit fields returned by Prisma Client queries\"" +metaImagePath: "/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png" +heroImagePath: "/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg" +heroImageAlt: "A dark code card showing a Prisma Client initialized with a global omit, with the line omitting the user password highlighted in cyan, beside the words Never return a password." --- Discover the powerful new feature in Prisma ORM 5.16.0 that lets you globally or locally omit specific fields from your queries. Whether you need to ensure sensitive information (like a password) is never exposed or you want to streamline data retrieval for a single query, Prisma ORM has you covered. In this blog post, learn how to enhance your data management with code examples and guidance. diff --git a/apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx b/apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx index 125c54457a..70e2b05d87 100644 --- a/apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx +++ b/apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx @@ -6,9 +6,9 @@ authors: - "Tim Griesser" metaTitle: "GraphQL Nexus: Code-First GraphQL Server Development | Prisma" metaDescription: "Meet GraphQL Nexus, a code-first library for building GraphQL servers with type-safe schemas and a better developer workflow." -metaImagePath: "/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero-5fcd43415f21b9a4fc240fa2c5869f6b6fe2abe0-1200x630.png" -heroImagePath: "/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero-5fcd43415f21b9a4fc240fa2c5869f6b6fe2abe0-1200x630.png" -heroImageAlt: "Introducing GraphQL Nexus" +metaImagePath: "/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png" +heroImagePath: "/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg" +heroImageAlt: "A two-row comparison: SDL-first runs from schema.graphql to resolvers, while the highlighted code-first row runs from makeSchema() to a generated schema.graphql and typings.ts." series: graphql-nexus seriesIndex: 2 --- diff --git a/apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx b/apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx index 564af163c3..1a883c108e 100644 --- a/apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx +++ b/apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx @@ -6,9 +6,9 @@ authors: - "Nitin Gupta" metaTitle: "Introducing Instant App Deployments in Partnership with Vercel" metaDescription: "Instant App Deployment with Prisma Postgres and Vercel makes going from generated code to production effortless. Provision a Postgres database, deploy globally, and let users claim full ownership with a single API call. Perfect for AI coding platforms, no-code tools, and modern app builders." -metaImagePath: "/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta-361d392f23fa013b8ba4f778b7727c0807fc1aca-1266x711.png" -heroImagePath: "/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero-38b924b5e2a902a17211a9d7a9493153361dbc43-844x474.svg" -heroImageAlt: "Promotional graphic with the text “Instant app deployments for AI” and “Vercel + Prisma.” The design shows UI elements like a chat box with “Build and deploy anything…,” a send button, generating text, and icons representing databases and deployment." +metaImagePath: "/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png" +heroImagePath: "/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg" +heroImageAlt: "A four-step flow on a light background reading One API call, Prisma Postgres, Vercel deploy, User claims it, with a yellow arrow chain brightening into the final highlighted tile." --- AI coding platforms let anyone create software from a prompt, but turning generated code into a deployed app is still a hard problem. Announcing **Instant App Deployment**, a new API built on [Prisma Postgres](https://prisma.io/postgres) and [Vercel](https://vercel.com), that solves this problem. diff --git a/apps/blog/content/blog/introducing-platform-environments/index.mdx b/apps/blog/content/blog/introducing-platform-environments/index.mdx index 971221d763..da22c77827 100644 --- a/apps/blog/content/blog/introducing-platform-environments/index.mdx +++ b/apps/blog/content/blog/introducing-platform-environments/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Introducing Platform Environments" metaDescription: "Introducing Platform Environments & Early Access Prisma Data Platform integration to Prisma CLI." -metaImagePath: "/introducing-platform-environments/imgs/meta-5c40baf506e9ff75d2718b0a9f9906de8b417457-1800x945.png" -heroImagePath: "/introducing-platform-environments/imgs/hero-aa4a9432e7742d1f7b3468e632869ef802833652-870x480.svg" -heroImageAlt: "Introducing Platform Environments" +metaImagePath: "/introducing-platform-environments/imgs/meta.png" +heroImagePath: "/introducing-platform-environments/imgs/hero.svg" +heroImageAlt: "A table listing how many environments each Prisma Data Platform project gets per plan: two on Starter, six on Pro and twelve on Business." tags: - "platform" - "announcement" diff --git a/apps/blog/content/blog/introducing-prisma-nuxt/index.mdx b/apps/blog/content/blog/introducing-prisma-nuxt/index.mdx index f7f612a033..1a7079b45c 100644 --- a/apps/blog/content/blog/introducing-prisma-nuxt/index.mdx +++ b/apps/blog/content/blog/introducing-prisma-nuxt/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Introducing Prisma Nuxt: Simplifying Data Management for Nuxt Apps" metaDescription: "Use Prisma ORM in your Nuxt.js app easily with the Prisma Nuxt module for type-safe queries and database management." -metaImagePath: "/introducing-prisma-nuxt/imgs/meta-fa5d318365caa55c59c4977b9b552b45e68c19e5-1200x631.png" -heroImagePath: "/introducing-prisma-nuxt/imgs/hero-c442fbbddd3bf0f1894047b3e87fad73d8c4c80c-870x480.png" -heroImageAlt: "The logo of Nuxt and Prisma side-by-side" +metaImagePath: "/introducing-prisma-nuxt/imgs/meta.png" +heroImagePath: "/introducing-prisma-nuxt/imgs/hero.svg" +heroImageAlt: "A dark terminal card on light paper showing npm install @prisma/nuxt above a checklist of the setup the module performs, beside the headline 'One module, whole setup'." tags: - "orm" --- diff --git a/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx b/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx index 7621774309..e35f7612b5 100644 --- a/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx +++ b/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx @@ -6,9 +6,9 @@ authors: - "Ryan Chenkie" metaTitle: "How iopool became more productive with Prisma" metaDescription: "In 2020, iopool decided to rearchitect its app and use Prisma for their database needs. Doing so helped them move fast with confidence and has greatly simplified their development process." -metaImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero-97ed1e5446a02b6a9c6be975ada9fd1d26f31173-1692x852.png" -heroImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero-97ed1e5446a02b6a9c6be975ada9fd1d26f31173-1692x852.png" -heroImageAlt: "How iopool refactored their app in less than 6 months with Prisma" +metaImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png" +heroImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg" +heroImageAlt: "A white comparison card on light paper: 16 microservices, a release every 2 to 3 weeks and features in weeks on the left; Lambda and Postgres, two or more releases a week and features in days in a highlighted cyan panel on the right." tags: - "case-study" --- diff --git a/apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx b/apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx index 4f3673441d..0e927d8130 100644 --- a/apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx +++ b/apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "The Jamstack with Next.js and Prisma" metaDescription: "Learn how to build interactive Jamstack apps with Next.js and Prisma and incremental static re-generation." -metaImagePath: "/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta-7a8c077c90bc739fc1f24dc165998b1bdd3ae30a-1692x852.png" -heroImagePath: "/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero-22883cd828b088978a9224cbe939e35fa9e58056-870x438.png" -heroImageAlt: "Jamstack with Next.js and Prisma" +metaImagePath: "/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png" +heroImagePath: "/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg" +heroImageAlt: "A dark code card showing the post’s getStaticProps function with the “revalidate: 1” line highlighted in cyan, beside the words “Static pages, fresh data”." --- Jamstack is a popular approach for building web apps. But it can be diff --git a/apps/blog/content/blog/labelbox-simnycbotiok/index.mdx b/apps/blog/content/blog/labelbox-simnycbotiok/index.mdx index 67faf2a95e..84c5cb953a 100644 --- a/apps/blog/content/blog/labelbox-simnycbotiok/index.mdx +++ b/apps/blog/content/blog/labelbox-simnycbotiok/index.mdx @@ -6,9 +6,9 @@ authors: - "Etel Sverdlov" metaTitle: "How Labelbox Supports Vast Machine Learning Needs | Prisma" metaDescription: "Learn how Labelbox uses Prisma to support large-scale machine learning data workflows and manage millions of records more effectively." -metaImagePath: "/labelbox-simnycbotiok/imgs/hero-4074c886a7303d113bad6cb6e96549dd817b8869-1200x630.png" -heroImagePath: "/labelbox-simnycbotiok/imgs/hero-4074c886a7303d113bad6cb6e96549dd817b8869-1200x630.png" -heroImageAlt: "Labelbox " +metaImagePath: "/labelbox-simnycbotiok/imgs/meta.png" +heroImagePath: "/labelbox-simnycbotiok/imgs/hero.svg" +heroImageAlt: "A dense field of small cells, a scattered share of them marked in red, standing for millions of human-labeled machine learning records" --- With a rapidly evolving product and millions of data points managed and stored, Labelbox, a machine learning diff --git a/apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx b/apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx index a8be0c3a0d..b0dd0eb461 100644 --- a/apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx +++ b/apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx @@ -6,9 +6,9 @@ authors: - "Ryan Chenkie" metaTitle: "Learn TypeScript: A Pocketguide Tutorial | Prisma" metaDescription: "Learn TypeScript's core features in a practical pocket guide covering types, interfaces, functions, and developer productivity." -metaImagePath: "/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta-ea7367ba686030645338459b4feaf9733da97717-1692x852.png" -heroImagePath: "/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero-ed0603d756c104c189e556f5a0a65cc59adde9b3-870x438.png" -heroImageAlt: "Learn TypeScript: A Pocketguide Tutorial" +metaImagePath: "/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png" +heroImagePath: "/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg" +heroImageAlt: "A dark code card showing the getWordLength example with its string and number type annotations picked out in yellow above the type error that calling it with 42 produces." --- Type safety is important for building scalable and maintainable applications. TypeScript is a superset of JavaScript that makes it type-safe. Learn about TypeScript's most important features in this guide. diff --git a/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx b/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx index 328032eb72..ba67dc2aa1 100644 --- a/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx +++ b/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Make Your Applications Fast Globally" metaDescription: "Speed up edge and serverless apps by fixing database latency, cold starts, and slow queries." -metaImagePath: "/make-your-applications-fast-globally/imgs/meta-804c14efc98c90c583f9e85df56105a3b6cb52e0-1266x711.png" -heroImagePath: "/make-your-applications-fast-globally/imgs/hero-b39a1db6bced5d4927ad0e3215e309eaa4f944ae-844x474.svg" -heroImageAlt: "Illustration of global servers and cloud connections with text 'Make your application fast globally'" +metaImagePath: "/make-your-applications-fast-globally/imgs/meta.png" +heroImagePath: "/make-your-applications-fast-globally/imgs/hero.svg" +heroImageAlt: "Two comparison bars titled 'Latency is geography': a function in Tokyo querying a database in Virginia takes about 900 ms, while a function colocated with the database returns in under 90 ms" tags: - "case-study" --- diff --git a/apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx b/apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx index 6cdf63f0a3..0f715070c2 100644 --- a/apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx +++ b/apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx @@ -6,9 +6,9 @@ authors: - "Tasin Ishmam" metaTitle: "Database Metrics with Prisma, Prometheus & Grafana" metaDescription: "This tutorial will help you to get started with Prisma's metrics feature. Learn how to integrate metrics into a web server using Prometheus and Grafana." -metaImagePath: "/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta-f9d1d442f04a6301edbf164092172e4a4ea43981-1269x714.png" -heroImagePath: "/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero-a497e6ffb8b0aa20963e60b3940d638c938adbf7-835x470.png" -heroImageAlt: "Database Metrics with Prisma, Prometheus & Grafana" +metaImagePath: "/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png" +heroImagePath: "/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg" +heroImageAlt: "A four-stage pipeline on light paper: a highlighted Prisma Client tile calling $metrics.prometheus() feeds a GET /metrics Express endpoint, which Prometheus collects from and Grafana visualizes." tags: - "education" - "orm" diff --git a/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx b/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx index 9ae3e0fbc6..3bf6a1150a 100644 --- a/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx +++ b/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma Adds Support for MongoDB — Join Our Launch Week Celebrations (April 25-29) 🎉" metaDescription: "Prisma now supports MongoDB! Read this article to learn more about the benefits developers get when using MongoDB with Prisma and join our one-week celebration at the end of April." -metaImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/meta-53ef0fef7dc5c54c6cee0c4cce0f47682d09cdc3-1692x882.png" -heroImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/hero-d05dec22b9afb5e6e91b3a8048677f4d4021f3ac-844x474.svg" -heroImageAlt: "Prisma Adds Support for MongoDB " +metaImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/meta.png" +heroImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg" +heroImageAlt: "A dark code card showing the article's Prisma schema for MongoDB, with the id field's _id mapping and ObjectId attributes picked out in cyan." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx b/apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx index bbef780076..d1825a15cb 100644 --- a/apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx +++ b/apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "What is monitoring, how to monitor, and tools for monitoring" metaDescription: "Learn the best practices for monitoring your application and how it fits into the development cycle. " -metaImagePath: "/monitoring-best-practices-monitor5g08d0b/imgs/meta-2155fd7fac7e6abb72bd7d0a6ae53725792e0a47-1692x852.png" -heroImagePath: "/monitoring-best-practices-monitor5g08d0b/imgs/hero-89513c992a1f61ae2412fbeb17417bff9504b9ff-794x380.png" -heroImageAlt: "Application Monitoring Best Practices" +metaImagePath: "/monitoring-best-practices-monitor5g08d0b/imgs/meta.png" +heroImagePath: "/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg" +heroImageAlt: "A white card on light paper listing the five stages of a metric, from instrumentation through to alerting, with the alerting row highlighted in red." tags: - "education" --- diff --git a/apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx b/apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx index 26507a1b49..7ef86efaa6 100644 --- a/apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx +++ b/apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx @@ -7,9 +7,9 @@ authors: - "Tasin Ishmam" metaTitle: "JWT Authentication in a REST API with NestJS and Prisma 7" metaDescription: "Learn how to implement JWT authentication in a NestJS REST API with Prisma ORM 7 and Passport: login endpoint, JWT strategy, auth guards, Swagger integration and bcrypt password hashing." -metaImagePath: "/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta-425dd76be3dd7fa36e7051613296031be0344159-1920x1080.png" -heroImagePath: "/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero-7c1df9404c5bc6f5047c3e3ba1972005f90ea2bb-843x474.svg" -heroImageAlt: "Building a REST API with NestJS and Prisma: Authentication" +metaImagePath: "/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png" +heroImagePath: "/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg" +heroImageAlt: "A NestJS controller in a dark code card with the @UseGuards(JwtAuthGuard) line highlighted, an arrow pointing from it to a 401 Unauthorized response card." series: nestjs-prisma-rest-api seriesIndex: 5 tags: diff --git a/apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx b/apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx index 145c27a4a4..4b0d79ca56 100644 --- a/apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx +++ b/apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx @@ -7,9 +7,9 @@ authors: - "Tasin Ishmam" metaTitle: "Error Handling in a REST API with NestJS and Prisma 7" metaDescription: "Learn how to handle Prisma errors in a NestJS REST API: throw exceptions in controllers and build an exception filter for Prisma error codes like P2002. Updated for Prisma ORM 7 and NestJS 11." -metaImagePath: "/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta-61137d012c97c0dc9c0a72557fe3a277a11700a4-1272x716.png" -heroImagePath: "/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero-c86e8991069ead629ccc386f69880911bbb014c8-844x474.svg" -heroImageAlt: "Building a REST API with NestJS and Prisma: Error Handling" +metaImagePath: "/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png" +heroImagePath: "/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg" +heroImageAlt: "Three mapping rows: NotFoundException to 404 Not Found, the Prisma error code P2002 for a unique constraint to 409 Conflict highlighted in cyan, and default to 500 Internal server error." series: nestjs-prisma-rest-api seriesIndex: 3 tags: diff --git a/apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx b/apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx index ed7c0abe36..664b9f6d9b 100644 --- a/apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx +++ b/apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx @@ -7,9 +7,9 @@ authors: - "Tasin Ishmam" metaTitle: "Handling Relational Data in a REST API with NestJS and Prisma 7" metaDescription: "Learn how to handle relational data in a REST API built with NestJS and Prisma ORM 7: model a one-to-many relation, build user CRUD endpoints, and exclude sensitive fields from responses." -metaImagePath: "/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero-2d5ec1b2f38575e64a7ae28b6915e68d77e197f2-1920x1080.png" -heroImagePath: "/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero-2d5ec1b2f38575e64a7ae28b6915e68d77e197f2-1920x1080.png" -heroImageAlt: "Building a REST API with NestJS and Prisma: Handling Relational Data" +metaImagePath: "/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png" +heroImagePath: "/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg" +heroImageAlt: "An ink code card on light paper showing prisma.article.findUnique with the include author line highlighted in cyan, beside the headline \"Article and author in one request\"." series: nestjs-prisma-rest-api seriesIndex: 4 tags: diff --git a/apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx b/apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx index d69aea3ca8..dab81066fa 100644 --- a/apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx +++ b/apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx @@ -7,8 +7,9 @@ authors: - "Tasin Ishmam" metaTitle: "Build a REST API with NestJS, Prisma 7, PostgreSQL and Swagger" metaDescription: "Learn how to build a backend REST API with NestJS, Prisma ORM 7, PostgreSQL and Swagger. Set up the project, model your data, build the API and document it with Swagger. Fully updated for Prisma 7 and NestJS 11." -heroImagePath: "/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero-4bb8a42e7fe028072f5e7d90b2eff2435ad6dabb-844x474.svg" -heroImageAlt: "Building a REST API with NestJS and Prisma" +heroImagePath: "/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg" +metaImagePath: "/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png" +heroImageAlt: "Route list on light paper: the six /articles endpoints built in the tutorial set in mono with hairline rules, the POST /articles row tinted cyan." series: nestjs-prisma-rest-api seriesIndex: 1 tags: diff --git a/apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx b/apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx index 407c3bf780..775486bd7f 100644 --- a/apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx +++ b/apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx @@ -7,9 +7,9 @@ authors: - "Tasin Ishmam" metaTitle: "Input Validation in a REST API with NestJS and Prisma 7" metaDescription: "Learn how to add input validation and transformation to a NestJS REST API with ValidationPipe, class-validator and ParseIntPipe. Fully updated for Prisma ORM 7 and NestJS 11." -metaImagePath: "/nestjs-prisma-validation-7D056s1kOla1/imgs/meta-c114050a8b7a4eacbd9270a105ff912a0e91eec5-1272x716.png" -heroImagePath: "/nestjs-prisma-validation-7D056s1kOla1/imgs/hero-adc0af7eb5b3f3e751cd795ba7e184ce98a3ed81-844x474.svg" -heroImageAlt: "Building a REST API with NestJS and Prisma: Input Validation & Transformation" +metaImagePath: "/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png" +heroImagePath: "/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg" +heroImageAlt: "A branching diagram on light paper: a POST /articles request enters a highlighted ValidationPipe node, which forks along a cyan arrow to a route handler and along a grey arrow to 400 Bad Request, under the headline “Validate before the handler”." series: nestjs-prisma-rest-api seriesIndex: 2 tags: diff --git a/apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx b/apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx index db0804bc16..577d26f3b0 100644 --- a/apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx +++ b/apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "New Tooling to Improve Your GraphQL Workflows | Prisma" metaDescription: "Explore new GraphQL tooling like GraphQL Config and related libraries that improve project setup, tooling integration, and workflows." -metaImagePath: "/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero-a61300c6ae647f6e566843a176ed58109da8e65c-900x509.png" -heroImagePath: "/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero-a61300c6ae647f6e566843a176ed58109da8e65c-900x509.png" -heroImageAlt: "New Tooling to Improve Your GraphQL Workflows" +metaImagePath: "/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png" +heroImagePath: "/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg" +heroImageAlt: "A diagram in which ESLint, Language Service and IntelliJ merge along one connector into a single card labelled .graphqlconfig." --- Together with many awesome contributors from the community including the GraphQL team at Facebook, we have developed diff --git a/apps/blog/content/blog/operations-based-billing/index.mdx b/apps/blog/content/blog/operations-based-billing/index.mdx index 329cad6a0e..6619cc1bf0 100644 --- a/apps/blog/content/blog/operations-based-billing/index.mdx +++ b/apps/blog/content/blog/operations-based-billing/index.mdx @@ -6,8 +6,9 @@ authors: - "Petra Donka" metaTitle: "Operations-Based Billing: A Simpler Pricing Model for Modern Databases" metaDescription: "Serverless pricing for databases is notoriously difficult to grok and predict accurately. When thinking of how to solve this pricing dilemma for Prisma Postgres, we wanted to make things easy. Our operations-based pricing model simplifies pricing and removes the need to think about resource sizes or abstract compute time metrics." -metaImagePath: "/operations-based-billing/imgs/meta-3354519625f3caa95164b69d5b9418abd3b99059-1266x711.png" -heroImagePath: "/operations-based-billing/imgs/hero-1d997b49de7986be043f844425adc9214c468725-844x474.svg" +metaImagePath: "/operations-based-billing/imgs/meta.png" +heroImagePath: "/operations-based-billing/imgs/hero.svg" +heroImageAlt: "A white panel lists the eight SQL statements one prisma.user.create() call expands into, closed by a yellow chip reading 1 operation." --- Serverless pricing for databases is notoriously difficult to grok and predict accurately. When thinking of how to solve this pricing dilemma for [Prisma Postgres](https://prisma.io/postgres), we wanted to make things easy. Our operations-based model simplifies pricing and removes the need to think about resource sizes or abstract compute time metrics. diff --git a/apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx b/apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx index 6c0d5b4aba..5bd8f921b1 100644 --- a/apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx +++ b/apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx @@ -6,8 +6,9 @@ authors: - "Tyler Benfield" metaTitle: "Optimizing Postgres for Global Apps" metaDescription: "Learn why the Postgres wire protocol struggles in serverless and multi-region apps, and what patterns can improve performance for globally deployed systems." -metaImagePath: "/optimizing-postgres-for-global-apps/imgs/meta-2d60d46aec9dc44a8e90072330ce14346817df5b-1266x711.png" -heroImagePath: "/optimizing-postgres-for-global-apps/imgs/hero-8633a2e3d0da7dccae76ab2597e841ac444cbe7a-844x474.svg" +metaImagePath: "/optimizing-postgres-for-global-apps/imgs/meta.png" +heroImagePath: "/optimizing-postgres-for-global-apps/imgs/hero.svg" +heroImageAlt: "Metric cover on light paper: the figure ~460 ms for establishing a Postgres connection, beside a sequence diagram of five round trips between an app in Tokyo and a Postgres database in us-east-1." tags: - "education" --- diff --git a/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx b/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx index e32c9c3229..9984ad17f6 100644 --- a/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx +++ b/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx @@ -7,9 +7,9 @@ authors: - "Jon Harrell" metaTitle: "Organize Your Prisma Schema into Multiple Files" metaDescription: "Prisma ORM supports splitting your schema into multiple .prisma files, Generally Available since v6.7.0. Learn the Prisma 7 setup with prisma.config.ts, best practices, and common pitfalls." -metaImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/meta-26e729ad6c2082d921722ad482ef83992eb66f5f-1266x711.png" -heroImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/hero-5df6e670b8b37555a5d3caf40521722d9613b705-844x474.svg" -heroImageAlt: "An image showing several .prisma files with the text \"Split your schema!\"" +metaImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png" +heroImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg" +heroImageAlt: "A card showing the prisma directory tree — migrations, a models folder holding user.prisma and post.prisma, and schema.prisma — with a cyan arc linking the two model files, beside the headline \"Relations work across files\"." tags: - "orm" - "education" diff --git a/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx b/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx index f9c46d1e97..94ea3f111f 100644 --- a/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx +++ b/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "ORM 6.10.0, New Features for Prisma Postgres, Remote MCP & More" metaDescription: "This week comes packed with major improvements for Prisma Postgres & Prisma ORM. Read this article to learn more!" -metaImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta-de9f763ec9416315426528e9b4bc429a2708acbb-1266x711.png" -heroImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero-9eceabc4fd8dbe61ef0dc42bad3d44c0a002efcf-844x474.svg" +metaImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png" +heroImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg" +heroImageAlt: "The release number 6.10.0 set in large type on light paper, with the Prisma prism stripe bleeding off the lower-right corner." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx b/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx index 28e607c7ff..c6f22062c7 100644 --- a/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx +++ b/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "ORM 6.12.0: ESM-Compatible Generator in Preview & New Options for Prisma Config" metaDescription: "Check out the latest Prisma release with our new ESM-compatible generator and New Options for Prisma Config!" -metaImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta-dcedaa0abf8db7a6e8f8fa30b3a2493752251653-1266x711.png" -heroImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero-59d3944084b95fb426e8f670cd3ee12ec2b6ef0e-844x474.svg" +metaImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png" +heroImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg" +heroImageAlt: "The version number 6.12.0 set very large in ink on paper, underlined by a short spectral rule, above the line \"ESM-compatible prisma-client generator, now in Preview\"." tags: - "announcement" --- diff --git a/apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx b/apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx index 133caafece..603518556e 100644 --- a/apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx +++ b/apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "ORM 6.13.0, CI/CD Workflows & pgvector for Prisma Postgres" metaDescription: "Prisma ORM v6.13.0 introduces Prisma Config & multi-schema support in GA, pgvector for Prisma Postgres, a new Management API for CI/CD, SQL view enhancements, and a redesigned Prisma Console UI." -metaImagePath: "/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta-a34efcbd2a80c31abeee44c4c8da5452619d93c4-1266x711.png" -heroImagePath: "/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero-bf92270c0f00a0ec6345ee27d0f6eba08a3a79a5-844x474.svg" -heroImageAlt: "A promotional graphic for Prisma version 6.13.0 featuring a dark-themed UI preview. On the left, the Prisma logo and \"v6.13.0\" are displayed with a right-pointing arrow. Below are feature highlights in purple pill-shaped boxes with white text: \"MULTI-SCHEMA & PRISMA CONFIG IN GA,\" \"CI/CD & pgvector FOR PRISMA POSTGRES,\" \"NEW CONSOLE UI DESIGN,\" and \"+ MORE…\". On the right, there is a screenshot of the Prisma console showing sections like Dashboard, Studio, Accelerate, API Keys, and Settings, along with panels for Prisma Postgres, Accelerate, Studio, and Optimize." +metaImagePath: "/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png" +heroImagePath: "/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg" +heroImageAlt: "A white card on light paper, topped by a spectrum-colored rule, listing what shipped in Prisma ORM 6.13.0: prisma.config.ts (highlighted in cyan) and multi-schema support as Generally Available, plus pgvector and a Management API for Prisma Postgres." tags: - "announcement" --- diff --git a/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx b/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx index b6bf347719..ba4207feaa 100644 --- a/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx +++ b/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "ORM 6.15.0, AI Safety Guardrails for Destructive Commands & More" metaDescription: "Protect your DB from AI mishaps with Prisma ORM v6.15.0—new safety guardrails, ESM-first client updates & better Postgres tooling." -metaImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta-5f2a233de0328436ce4a9b015a641f91c80610a3-1266x711.png" -heroImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero-405ae53feaf2033d74021e5007c20467a7d1069c-844x474.svg" +metaImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png" +heroImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg" +heroImageAlt: "A dark terminal card showing the prisma migrate reset command marked Confirmation required when it is run by an AI coding agent" tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx b/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx index 0965eaaf74..ddc8c61b4d 100644 --- a/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx +++ b/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "ORM v6.11.0, Embedded Prisma Studio, Rust-free ORM for MySQL in Preview & More" metaDescription: "What’s new: Prisma ORM without Rust in Preview for MySQL & Neon, embedded Prisma Studio for your React apps, new region for Prisma Postgres & more. " -metaImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta-f3f4386ecb62981d836ac001e9ad7d7bf3983817-1266x711.png" -heroImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero-3fe13fbc2fb282c40babce1bbdd9090f848862d9-844x474.svg" +metaImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png" +heroImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg" +heroImageAlt: "A three-row list on light paper under the headline “Rust-free ORM in Preview”: MySQL / MariaDB with @prisma/adapter-mariadb, Neon with @prisma/adapter-neon, and CockroachDB with @prisma/adapter-pg." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx b/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx index e494592975..179e851ae9 100644 --- a/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx +++ b/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "ORM v6.17.0, New Usage Metrics & Direct Connections in GA for Prisma Postgres " metaDescription: "Prisma ORM v6.17.0 is out with fixes and improvements. Connecting to Prisma Postgres via your favorite ORM/DB tool is now GA. Read the full update." -metaImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta-a3ea67dcf14e1e36633f24ff1630949e82d6552e-1266x711.png" -heroImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero-b0ff1e8edfc2f3b242e88d1e7e9c068a4b4b50dc-844x474.svg" -heroImageAlt: "Cover image for launch blog post" +metaImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png" +heroImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg" +heroImageAlt: "A beam running from Drizzle, Kysely, TypeORM and psql into a Prisma Postgres database drawn as stacked planes, marking direct connections as generally available." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx b/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx index a523a2102b..2d335d0087 100644 --- a/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx +++ b/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx @@ -6,9 +6,9 @@ authors: - "Jon Harrell" metaTitle: "Overcoming Database Challenges in Serverless and Edge Applications" metaDescription: "Learn best practices around deploying stateful apps in traditionally stateless environments." -metaImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta-1547411ba0da83db1dd2d474906b3c9b36a0be05-1267x711.png" -heroImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero-bb568fc69c26ec5a3d262e4e598ea35dd95aa7b0-844x474.svg" -heroImageAlt: "Overcoming Database Challenges in Serverless & Edge Applications" +metaImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png" +heroImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg" +heroImageAlt: "The headline \"Stateful data in stateless environments\" above a flat diagram: a stack of function instances labelled \"pool size 1\" connects by a cyan beam to a \"Connection pool / PgBouncer\" tile, which connects on to a \"Database / PostgreSQL\" tile." tags: - "education" --- diff --git a/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx b/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx index 5e220ba63b..0f3b1ca3ee 100644 --- a/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx +++ b/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx @@ -7,9 +7,9 @@ authors: - "Alex Ruheni" metaTitle: "Panther enables startups to acquire talented individuals without being hampered by geographical barriers, leveraging the microservices architecture with Prisma" metaDescription: "Prisma plays a key role in the Panther's tech stack, allowing individual teams to have the freedom they need while also maintaining data consistency" -metaImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/meta-5eae06d23538e0fc1c0ce19cd2f7d370baf9ba67-1692x852.png" -heroImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/hero-c5d900fa6ca968fa3166f7d9faff39ee6df0fc04-846x426.png" -heroImageAlt: "How Panther champions talent over geography with Prisma" +metaImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/meta.png" +heroImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg" +heroImageAlt: "A typographic cover on light paper reading 'Payroll and compliance in 160+ countries', the reach of Panther's payroll platform, with the plus sign in prism cyan." tags: - "case-study" --- diff --git a/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx b/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx index 4e36894ada..b4adfed622 100644 --- a/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx +++ b/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "How Pearly has scaled quickly as a startup by adopting Prisma" metaDescription: "Pearly provides platforms for dentists to create better and reliable revenue streams and affordable care plans for their patients. Learn how Prisma has helped them scale quickly with Prisma with an ultra-lean team." -metaImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta-d09ee96143ce418b222844b771f5b3ffcff456f4-1692x852.png" -heroImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero-865b17cd27fdb1bc38c55016a41fd23b3ea650a0-870x439.png" -heroImageAlt: "How Prisma Allowed Pearly to Scale Quickly with an Ultra-Lean Team" +metaImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png" +heroImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg" +heroImageAlt: "The words 1 developer set large in ink with a cyan numeral, above the line built the first version of both Pearly products, on a soft cyan field." tags: - "case-study" --- diff --git a/apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx b/apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx index b3f9f518bd..01726b56f2 100644 --- a/apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx +++ b/apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Performance Benchmarks: Comparing Query Latency across TypeScript ORMs & Databases" metaDescription: "Which ORM is the fastest? We have created open-source performance benchmarks to compare query latencies for Prisma ORM, TypeORM and Drizzle ORM. " -metaImagePath: "/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta-1e353482cde67f1567e51f2a62e6c4129b120822-1688x948.png" -heroImagePath: "/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero-4b8219d8c090b4183d9b4d7d70e6e4bd30f2933d-844x474.png" +metaImagePath: "/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png" +heroImagePath: "/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg" +heroImageAlt: "A light cover reading 'Which ORM is fastest? It depends' above a table of median findMany latencies for Prisma ORM, Drizzle ORM and TypeORM on Supabase, AWS RDS and Neon." tags: - "orm" --- diff --git a/apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx b/apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx index 28ef0e6d27..b353483177 100644 --- a/apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx +++ b/apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "How We Constantly Improve the Performance of Prisma" metaDescription: "See how Prisma's engineering team approaches performance with tooling, benchmarking, and practices for fast, predictable database workflows." -metaImagePath: "/performance-engineering-aeduv0rei0jk/imgs/hero-e43f947aa769d0709b8e4af281e447028c0ec23e-1200x630.png" -heroImagePath: "/performance-engineering-aeduv0rei0jk/imgs/hero-e43f947aa769d0709b8e4af281e447028c0ec23e-1200x630.png" -heroImageAlt: "How We're Constantly Improving the Performance of Prisma" +metaImagePath: "/performance-engineering-aeduv0rei0jk/imgs/meta.png" +heroImagePath: "/performance-engineering-aeduv0rei0jk/imgs/hero.svg" +heroImageAlt: "A FlameGraph with one wide highlighted frame labelled Calendar, beside the figure 40% — the memory saved in a hot Prisma 1 code path." --- ::::note[New: the Prisma 8 performance benchmark] diff --git a/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx b/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx index aa867a2e4f..6644935604 100644 --- a/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx +++ b/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx @@ -6,9 +6,9 @@ authors: - "Ryan Chenkie" metaTitle: "Poppy adopted Prisma 2 in its early days and has seen enormous benefits from the type safety that Prisma Client provides." metaDescription: "Poppy offers rides of all kinds through its mobile app. Whether it's a car, scooter, or e-step, Poppy has it. Prisma plays a vital role in helping Poppy ship quickly and confidently and is a big reason they've just hit 1.5 million total rides taken." -metaImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero-e88c5bf7940e203a79d806c2f7ab3ff3d177b7ee-1692x852.png" -heroImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero-e88c5bf7940e203a79d806c2f7ab3ff3d177b7ee-1692x852.png" -heroImageAlt: "How Poppy Uses Prisma Client to Ship Confidently" +metaImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png" +heroImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg" +heroImageAlt: "The figure 1.5M set large on light paper, labelled as the rides taken on Poppy's fleet served by Prisma Client, above the fleet's 500 shared cars, 400 e-scooters and 200 e-steps." tags: - "case-study" --- diff --git a/apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx b/apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx index 4c824416de..9564daaa78 100644 --- a/apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx +++ b/apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma 2.0 | Now in Beta: Type-safe Database Access with Prisma Client" metaDescription: "Prisma 2 Beta introduced type-safe database access with Prisma Client, updated docs, and a clearer path toward production readiness." -metaImagePath: "/prisma-2-beta-b7bcl0gd8d8e/imgs/meta-ef78167b288b460b14a81e0364434fc5c0caa204-1688x886.png" -heroImagePath: "/prisma-2-beta-b7bcl0gd8d8e/imgs/hero-28cf1f43bc68b6f46097c6f654a0e77dfbf643ca-870x457.png" -heroImageAlt: "Prisma 2.0 is now in beta" +metaImagePath: "/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png" +heroImagePath: "/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg" +heroImageAlt: "A large 2.0 set in ink on paper, underlined by a thin Prisma spectrum rule, beside a Beta release label." --- We introduced the first Preview version of Prisma 2.0 in June last year. Today, we are excited to launch the first official Beta along with a new [website](https://www.prisma.io) and updated [Prisma 2.0 documentation](https://www.prisma.io/docs). diff --git a/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx b/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx index 5bf13a44d4..ae2bd676cb 100644 --- a/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx +++ b/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "Prisma 5: Faster by Default" metaDescription: "Prisma 5.0.0 introduces new changes that make it significantly faster. These changes especially improve the experience using Prisma in serverless environments." -metaImagePath: "/prisma-5-f66prwkjx72s/imgs/meta-a667db7e2c4cdc8b7bb1b5cde2903a0d0e78fe4a-1266x712.png" -heroImagePath: "/prisma-5-f66prwkjx72s/imgs/hero-4d31da0f724c13e75aae400cb385bbd1da5f23e2-844x474.svg" -heroImageAlt: "Prisma 5" +metaImagePath: "/prisma-5-f66prwkjx72s/imgs/meta.png" +heroImagePath: "/prisma-5-f66prwkjx72s/imgs/hero.svg" +heroImageAlt: "Two horizontal bars under the headline \"Cut by two-thirds\": a long grey bar labelled Before and a cyan bar one third as long labelled Prisma 5, comparing Prisma Client response time in a serverless cold start." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/prisma-6-8-0-release/index.mdx b/apps/blog/content/blog/prisma-6-8-0-release/index.mdx index a8497e1eec..8592e89dfa 100644 --- a/apps/blog/content/blog/prisma-6-8-0-release/index.mdx +++ b/apps/blog/content/blog/prisma-6-8-0-release/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Prisma 6.8.0: VS Code Agent Mode, Local Prisma Postgres, Native Deno Support" metaDescription: "With Prisma 6.8.0, spin up a local Postgres instance in seconds, create databases with VS Code Agent Mode, query docs via GitHub Copilot, and run Prisma ORM natively on Deno." -metaImagePath: "/prisma-6-8-0-release/imgs/meta-ad55ab4fb3e73f6d3379697f1082600814e40c89-1266x711.png" -heroImagePath: "/prisma-6-8-0-release/imgs/hero-b3ae90f7c076b2606757271bab4e04cffe8bb03d-844x474.svg" -heroImageAlt: "Promotional graphic on a purple gradient background announcing “v6.8.0” of Prisma. On the left are three rounded-rectangle labels reading “LOCAL PRISMA POSTGRES,” “VS CODE AGENT SUPPORT,” and “COPILOT EXTENSION.” On the right is a mock VS Code Copilot Chat panel in Agent mode (GPT-4o) showing the user message “Create a new database for me.” Along the bottom are three glowing icons representing Prisma, VS Code, and GitHub Copilot." +metaImagePath: "/prisma-6-8-0-release/imgs/meta.png" +heroImagePath: "/prisma-6-8-0-release/imgs/hero.svg" +heroImageAlt: "A dark terminal card on a warm light background shows the command npx prisma dev above three yellow checkmarks reading No Docker, No account and Zero latency, beside the headline “Local Postgres in one command”." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/prisma-6-9-0-release/index.mdx b/apps/blog/content/blog/prisma-6-9-0-release/index.mdx index da604d558d..51276f1c37 100644 --- a/apps/blog/content/blog/prisma-6-9-0-release/index.mdx +++ b/apps/blog/content/blog/prisma-6-9-0-release/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Prisma 6.9.0: Rust-Free ORM in Preview, Connect To Prisma Postgres With Any Tool, & More" metaDescription: "Explore Prisma 6.9.0: Connect any tool to Prisma Postgres (Drizzle, Kysely, etc.), try the new Rust-free Prisma ORM for PostgreSQL & SQLite, run local Prisma Postgres with persistent data, and manage databases via a new VS Code UI." -metaImagePath: "/prisma-6-9-0-release/imgs/meta-e89ea5cb6384d5ad92e1611a0ad373aa368018b0-1266x711.png" -heroImagePath: "/prisma-6-9-0-release/imgs/hero-b471bc0c613d1100e7f62c052743300a08093d24-844x474.svg" -heroImageAlt: "Prisma 6.9.0 release graphic showing key updates: connect to Prisma Postgres with any ORM, manage databases in VS Code, preview Prisma ORM without Rust engine, and more." +metaImagePath: "/prisma-6-9-0-release/imgs/meta.png" +heroImagePath: "/prisma-6-9-0-release/imgs/hero.svg" +heroImageAlt: "A diagram on light paper showing tiles labelled Drizzle, Kysely, TypeORM and psql merging into a single connection that ends at a Prisma Postgres node." series: rust-to-typescript-migration-journey seriesIndex: 4 --- diff --git a/apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx b/apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx index 30a951bdff..f6dddef1aa 100644 --- a/apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx +++ b/apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma 6: Better Performance, More Flexibility & Type-Safe SQL" metaDescription: "Today, we are releasing Prisma v6! Since the last major version, we have been hard at work incorporating user feedback, making Prisma ORM faster and more flexible, and adding amazing features like type-safe raw SQL queries." -metaImagePath: "/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta-0bbe2e336e0bd55cb08133c81dc5cf297137b893-1200x630.png" -heroImagePath: "/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero-1613e4843bb6239ae9f0e74962909b219dfafbc8-844x474.svg" +metaImagePath: "/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png" +heroImagePath: "/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg" +heroImageAlt: "A large numeral 6 on light paper beside a hairline rule listing three v6 capabilities: pick the best JOIN strategy, edge support and serverless drivers, and Typed SQL for raw queries" --- ::::note[New: the Prisma 8 performance benchmark] diff --git a/apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx b/apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx index 43022c632c..1ca1b5ced7 100644 --- a/apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx +++ b/apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx @@ -6,8 +6,9 @@ authors: - "Mike Hartington" metaTitle: "Understanding Prisma 7 Performance Benchmarks" metaDescription: "We reviewed community benchmarks comparing Prisma 6 and Prisma 7. Here’s what they measure, where regressions exist, and how we’re fixing them." -metaImagePath: "/prisma-7-performance-benchmarks/imgs/meta-676ac79538b53ce030818a157ac592f29650e651-1266x711.png" -heroImagePath: "/prisma-7-performance-benchmarks/imgs/hero-874c8984ae9b30a1245becadea327ddf82784916-844x474.svg" +metaImagePath: "/prisma-7-performance-benchmarks/imgs/meta.png" +heroImagePath: "/prisma-7-performance-benchmarks/imgs/hero.svg" +heroImageAlt: "A diverging bar chart: large result sets run up to 3x faster in Prisma 7 while tiny queries in a tight loop show a regression being fixed" tags: - "orm" --- diff --git a/apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx b/apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx index a14be23eee..7ba8a480aa 100644 --- a/apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx +++ b/apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx @@ -7,9 +7,9 @@ authors: - "Daniel Norman" metaTitle: "Prisma Adopts Semantic Versioning (SemVer) in Future Releases" metaDescription: "We are adjusting Prisma's release policy to adhere more strictly to Semantic Versioning. In the future, breaking changes in the stable development surface (General Availability) will only be rolled out in major version increments." -metaImagePath: "/prisma-adopts-semver-strictly/imgs/hero-28e6751ef493d53d0decd3aa5c631c0214c2d578-1692x852.png" -heroImagePath: "/prisma-adopts-semver-strictly/imgs/hero-28e6751ef493d53d0decd3aa5c631c0214c2d578-1692x852.png" -heroImageAlt: "Prisma Adopts Semantic Versioning (SemVer)" +metaImagePath: "/prisma-adopts-semver-strictly/imgs/meta.png" +heroImagePath: "/prisma-adopts-semver-strictly/imgs/hero.svg" +heroImageAlt: "The version string major.minor.patch set in large mono type, with the major segment in red and underlined." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx b/apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx index 53904dcdb9..b00c8eaa59 100644 --- a/apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx +++ b/apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx @@ -7,9 +7,9 @@ authors: - "Tim Suchanek" metaTitle: "How Prisma and GraphQL fit together | Prisma" metaDescription: "Learn how Prisma and GraphQL fit together, where Prisma goes beyond GraphQL use cases, and how Prisma simplifies database workflows across APIs." -metaImagePath: "/prisma-and-graphql-mfl5y2r7t49c/imgs/meta-fa8e2859efa37829166cc290e4913124ad4a99a0-1200x630.png" -heroImagePath: "/prisma-and-graphql-mfl5y2r7t49c/imgs/hero-a170d7e275c2b415bc159d86a7a0eacf7b92acef-870x457.png" -heroImageAlt: "How Prisma and GraphQL fit together" +metaImagePath: "/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png" +heroImagePath: "/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg" +heroImageAlt: "A prism on a light background: one grey beam from a database enters a triangle labelled Prisma client and leaves it as three coloured beams labelled GraphQL, REST and gRPC." --- There are many confusions around the relationship Prisma has with GraphQL. In this article, we clarify how developers diff --git a/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx b/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx index e73fbca7fd..e498743cc2 100644 --- a/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx +++ b/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx @@ -8,9 +8,9 @@ authors: - "Jan Piotrowski" metaTitle: "How We Sped Up Serverless Cold Starts with Prisma by 9x" metaDescription: "Learn about the Prisma's goals, the hurdles we are overcoming, and how you can help." -metaImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/73248ed5f8354b102c538279eae67bb1bb601991-1266x711.png" -heroImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/e70e892329074189eda737c807804fda0b018a05-844x474.svg" -heroImageAlt: "How We Sped Up Serverless Cold Starts with Prisma by 9x" +metaImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png" +heroImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg" +heroImageAlt: "The numeral 9x set very large in ink on a paper background lit by a soft cyan field, labelled faster Prisma Client startup in serverless functions." tags: - "orm" excerpt: "Cold starts are a huge roadblock for a fast user experience with serverless applications — but also inherently unavoidable. Let's explore what contributes to cold starts and how we made every serverless app built using Prisma ORM even faster." diff --git a/apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx b/apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx index b2ba58fe69..da5fc9f5ed 100644 --- a/apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx +++ b/apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma Client in Preview: Simplified & Type-safe Database Access" metaDescription: "Prisma Client introduced type-safe, auto-generated database access for application code and marked an important step toward Prisma's modern developer workflow." -metaImagePath: "/prisma-client-preview-ahph4o1umail/imgs/hero-5f01c71f75711647bda65187ba3679acd63a63da-1200x630.png" -heroImagePath: "/prisma-client-preview-ahph4o1umail/imgs/hero-5f01c71f75711647bda65187ba3679acd63a63da-1200x630.png" -heroImageAlt: "Prisma Client (Preview): Simplified & Type-safe Database Access" +metaImagePath: "/prisma-client-preview-ahph4o1umail/imgs/meta.png" +heroImagePath: "/prisma-client-preview-ahph4o1umail/imgs/hero.svg" +heroImageAlt: "A datamodel beam entering a glass prism and refracting into four coloured rays labelled typescript-client, javascript-client, flow-client and go-client." --- The Prisma client is an auto-generated library that can be used as an alternative to Prisma bindings to access data in diff --git a/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx b/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx index 2460121901..59fde98246 100644 --- a/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx +++ b/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx @@ -6,9 +6,9 @@ authors: - "Michelle Greer" metaTitle: "The Prisma Data Platform enables teams to collaborate using Prisma" metaDescription: "The Prisma Data Platform solves problems developers face when working with databases in production, and is now generally available." -metaImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta-ffc4c14399a711f25503a0a7af6f077b4ad57d2d-1266x711.png" -heroImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero-4d76a71d16231a1a3c1958c52182a480a8e5f8f7-844x474.svg" -heroImageAlt: "The Prisma Data Platform" +metaImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png" +heroImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg" +heroImageAlt: "A three-tile flow on paper: several connections from a serverless app converge into a cyan Data Proxy tile labelled connection pooling, which sends one pooled connection on to the database." tags: - "announcement" - "platform" diff --git a/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx b/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx index daf1886605..781047aa24 100644 --- a/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx +++ b/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx @@ -8,9 +8,9 @@ authors: - "Alberto Perdomo" metaTitle: "Prisma Data Proxy (Discontinued): Serverless Database Access" metaDescription: "The Prisma Data Proxy was Prisma's connection pooling service for serverless apps. It has been discontinued: Prisma Postgres now includes built-in connection pooling for serverless and edge apps." -metaImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/meta-3fc1d1f448cde60bd38e28c64d061ce7fb171f81-2400x1254.png" -heroImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/hero-bb301a00397c84e302d829b963462d00950d326e-870x455.png" -heroImageAlt: "Database Access in Serverless Environments with the Prisma Data Proxy" +metaImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/meta.png" +heroImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/hero.svg" +heroImageAlt: "A diagram of five serverless functions converging on one external connection pool that holds the single path to the database." tags: - "announcement" - "platform" diff --git a/apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx b/apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx index 9841f343fa..e7cd12c4c8 100644 --- a/apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx +++ b/apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx @@ -6,9 +6,9 @@ authors: - "Jillian Winter" metaTitle: "Announcing Prisma Day 2022 — Our First Hybrid (Berlin and online) Prisma Day!" metaDescription: "We’re thrilled to announce that this summer, Prisma Day will feature both in-person and remote events and workshops. Prisma Day will take place June 15th and 16th'" -metaImagePath: "/prisma-day-2022-announcement-v8t178dsf/imgs/meta-fcbc836a3c01592b7833e91a41e62b29fbfc9adf-2538x1272.png" -heroImagePath: "/prisma-day-2022-announcement-v8t178dsf/imgs/hero-1a5bae00df77e3b700cef6601a86c94a9e1de572-844x474.svg" -heroImageAlt: "Announcing Prisma Day 2022! Our First Hybrid Prisma Day." +metaImagePath: "/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png" +heroImagePath: "/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg" +heroImageAlt: "A soft yellow band of light sweeping diagonally across light paper, beside the words “Berlin and online” and the dates June 15–16, 2022." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx b/apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx index d724bffb25..47fd956a20 100644 --- a/apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx +++ b/apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Emerich" metaTitle: "Prisma announces the Prisma FOSS Fund to support free and open source software teams." metaDescription: "Prisma has started a fund to support independent free and open source software (FOSS) teams. Each month, we will donate $5,000 to a selected project to maintain its work and continue its development." -metaImagePath: "/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta-ab8f92c96761d5632f2170265bd9c63167d3f978-1268x721.png" -heroImagePath: "/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero-1ece57b620fcf829b794355791d859059f7beb0b-844x474.svg" -heroImageAlt: "Announcing the Prisma FOSS Fund" +metaImagePath: "/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png" +heroImagePath: "/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg" +heroImageAlt: "The figure $5,000 set large in Sora above the line every month to an independent open source project, with Rust Analyzer, Open Source Community Africa and Pothos listed beneath." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-insider-program/index.mdx b/apps/blog/content/blog/prisma-insider-program/index.mdx index 4d7dec994b..014b42788b 100644 --- a/apps/blog/content/blog/prisma-insider-program/index.mdx +++ b/apps/blog/content/blog/prisma-insider-program/index.mdx @@ -5,8 +5,9 @@ slug: "prisma-insider-program" date: "2024-05-29" authors: - "Nitin Gupta" -metaImagePath: "/prisma-insider-program/imgs/meta-587a4d7eeb559a4bdeb64d945c8abd1d2aa965e0-1266x711.png" -heroImagePath: "/prisma-insider-program/imgs/hero-f876d2b949495eb13c451c52414fd1119f0be213-844x474.svg" +metaImagePath: "/prisma-insider-program/imgs/meta.png" +heroImagePath: "/prisma-insider-program/imgs/hero.svg" +heroImageAlt: "A two-way loop between a card for products in development, Accelerate and Prisma Postgres, and a card for 15 insiders, with early access flowing out and feedback flowing back" tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx b/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx index 82ba55642b..7db1852c50 100644 --- a/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx +++ b/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Microsoft SQL Server Support in Prisma is Generally Available" metaDescription: "Microsft SQL Server and Azure SQL support in Prisma is now Generally Available" -metaImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta-897cff06aed6d6ab31ad6dea86c04ba77a03f0ed-1252x630.png" -heroImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero-89857b3836a02963a6943bf9903eadb7f467452b-846x426.png" -heroImageAlt: "Microsoft SQL Server Support in Prisma is Production-Ready" +metaImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png" +heroImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg" +heroImageAlt: "A soft cyan mesh field on paper with one small white card naming the Prisma datasource provider sqlserver and its status, generally available in 3.0.1." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx b/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx index ca6189f4ac..5b8211e668 100644 --- a/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx +++ b/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Improving Prisma Migrate DX for resolving failed migrations with 2 new commands" metaDescription: "Learn how the new Prisma Migrate commands, migrate diff and db execute help troubleshooting schema migrations." -metaImagePath: "/prisma-migrate-dx-primitives/imgs/meta-b291800991f4a03d10765a87a3fbc6d0e036564c-1270x639.png" -heroImagePath: "/prisma-migrate-dx-primitives/imgs/hero-e6a865656b510a2942651367168029c0be4b650c-844x474.svg" -heroImageAlt: "Improving Prisma Migrate DX with two new commands" +metaImagePath: "/prisma-migrate-dx-primitives/imgs/meta.png" +heroImagePath: "/prisma-migrate-dx-primitives/imgs/hero.svg" +heroImageAlt: "A white panel headed prisma migrate diff listing the four schema sources it can compare, with the live database schema and migration history rows tinted cyan and tagged from and to." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx b/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx index 4c52a3bc1d..61fa0a0dba 100644 --- a/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx +++ b/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Prisma Migrate is Production Ready - Hassle-Free Database Migrations" metaDescription: "Prisma Migrate is ready for use in production - Database schema migration tool with declarative data modeling and auto-generated, customizable SQL migrations" -metaImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/meta-434780a05dbd2e625fda9fe791c5ad5952bda69d-2400x1256.png" -heroImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/hero-32d0c4e15bdc25944dcbcfbe7064746f94cef116-1692x852.png" -heroImageAlt: "Hassle-Free Database Migrations with Prisma Migrate" +metaImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png" +heroImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg" +heroImageAlt: "The headline Schema in, SQL out beside a dark code card holding a generated CREATE TABLE migration, with a comment noting the SQL can be edited prior to execution." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx b/apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx index 4e5555ca32..a1f5d37b16 100644 --- a/apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx +++ b/apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Database Migrations Simplified | Prisma Migrate Preview" metaDescription: "Prisma Migrate Preview - database schema migrations simplified with declarative data modeling and auto-generated and customizable SQL migrations" -metaImagePath: "/prisma-migrate-preview-b5eno5g08d0b/imgs/meta-8cce83b629d0e1fe925d32bdf2a73f80d4c4bc9f-1200x628.png" -heroImagePath: "/prisma-migrate-preview-b5eno5g08d0b/imgs/hero-f5df6cdfa8c8cca04b7efca43a15f111cb1789b7-1692x852.png" -heroImageAlt: "Prisma Migrate Preview - Database Migrations Simplified" +metaImagePath: "/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png" +heroImagePath: "/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg" +heroImageAlt: "A three-row ledger of the Preview workflow: create the migration SQL without applying it, edit migration.sql in a highlighted cyan row, then apply it and generate Prisma Client." --- Prisma Migrate helps developers evolve their database schema at every step of development, from prototyping to production. Today we are excited to announce a Preview version of Prisma Migrate. [Try it out](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql) and share your feedback! diff --git a/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx b/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx index 8e2218a9f5..637fa7ab20 100644 --- a/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx +++ b/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Announcing Preview Support for MongoDB in Prisma 2.27" metaDescription: "Prisma support for MongoDB - bringing the power of type safety in Prisma to MongoDB" -metaImagePath: "/prisma-mongodb-preview-release/imgs/meta-60df4c09d5d1951a4fc6425644d652161e5aa9a1-1269x640.png" -heroImagePath: "/prisma-mongodb-preview-release/imgs/hero-0ba86c703ae4de5651fe3afa7a2a181b0cacdb24-865x436.png" -heroImageAlt: "Prisma 2.27 Adds Preview Support for MongoDB" +metaImagePath: "/prisma-mongodb-preview-release/imgs/meta.png" +heroImagePath: "/prisma-mongodb-preview-release/imgs/hero.svg" +heroImageAlt: "Two panels side by side: MongoDB documents with uneven field sets, and the same documents given one consistent, typed shape by a Prisma schema." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx b/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx index 025b0b87c9..5ec2345ca7 100644 --- a/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx +++ b/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx @@ -7,9 +7,9 @@ authors: - "Spiros Martzoukos" metaTitle: "A Collaborative Data Browser for Your Database on the Web (Early Access)" metaDescription: "Prisma's online data browser allows you to easily collaborate with your team on your data. Try the Early Access version and share your feedback with us!" -metaImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero-fe681554d217f3015ae0203b3b01a4830f6ca327-1692x852.png" -heroImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero-fe681554d217f3015ae0203b3b01a4830f6ca327-1692x852.png" -heroImageAlt: "A Collaborative Data Browser for Your Database on the Web" +metaImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png" +heroImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg" +heroImageAlt: "A table of the four project roles in the online data browser — Admin, Developer, Collaborator and Viewer — with what each one may do, and the Collaborator row highlighted." tags: - "education" - "platform" diff --git a/apps/blog/content/blog/prisma-optimize-early-access/index.mdx b/apps/blog/content/blog/prisma-optimize-early-access/index.mdx index 85057ad23b..14df6c5839 100644 --- a/apps/blog/content/blog/prisma-optimize-early-access/index.mdx +++ b/apps/blog/content/blog/prisma-optimize-early-access/index.mdx @@ -6,9 +6,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Introducing Prisma Optimize in Early Access " metaDescription: "Explore insights into your database operations to diagnose performance problems and enhance your application's performance and user experience." -metaImagePath: "/prisma-optimize-early-access/imgs/meta-a56f096666836c7d8e6671d0b4e910c1a0c2cb62-1200x630.png" -heroImagePath: "/prisma-optimize-early-access/imgs/hero-4d64d1524a5186d98e489b0aa2d0b884ceff3ef0-844x474.svg" -heroImageAlt: "Prisma Optimize in Early Access" +metaImagePath: "/prisma-optimize-early-access/imgs/meta.png" +heroImagePath: "/prisma-optimize-early-access/imgs/hero.svg" +heroImageAlt: "A dark code card on a warm yellow-lit paper surface showing Prisma Client extended with the Optimize extension, with the withOptimize() call highlighted." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx b/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx index 536f019ded..d720501987 100644 --- a/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx +++ b/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma ORM 6.6.0: ESM Support, D1 Migrations & Prisma MCP Server" metaDescription: "The v6.6.0 Prisma ORM release is packed with exciting features: ESM support, migrations on Cloudflare D1, an MCP server to manage DBs & a lot more." -metaImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta-5f4d224e4d334fff70c4eadb8b2cbef237acd3ba-1266x711.png" -heroImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero-836040fb8ba1449adfeb3b608ae710d2bd2d6449-844x474.svg" +metaImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png" +heroImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg" +heroImageAlt: "The version number 6.6.0 set at display size on light paper over a cyan bloom, with the release's three headline features named beneath it: ESM, D1 migrations and MCP server." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/prisma-orm-manifesto/index.mdx b/apps/blog/content/blog/prisma-orm-manifesto/index.mdx index a686517b79..f36ff60490 100644 --- a/apps/blog/content/blog/prisma-orm-manifesto/index.mdx +++ b/apps/blog/content/blog/prisma-orm-manifesto/index.mdx @@ -6,9 +6,9 @@ authors: - "Will Madden" metaTitle: "Prisma ORM Manifesto: Clarity and Collaboration" metaDescription: "Refocusing Prisma on what matters most: clear governance, better issue management, timely feature releases, and community collaboration" -metaImagePath: "/prisma-orm-manifesto/imgs/meta-0b66108483565f432dc3f83253879dc12818ab99-1266x711.png" -heroImagePath: "/prisma-orm-manifesto/imgs/hero-39eefe70bf535b97c35ecbc14b17c382ccb1644c-844x474.svg" -heroImageAlt: "Prisma ORM Manifesto title with image of scroll with official looking seal" +metaImagePath: "/prisma-orm-manifesto/imgs/meta.png" +heroImagePath: "/prisma-orm-manifesto/imgs/hero.svg" +heroImageAlt: "The sentence Preview now means progress set across a soft cyan field, with the word progress in deep cyan." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx b/apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx index 3336d1e2dd..29f09126d3 100644 --- a/apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx +++ b/apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx @@ -7,8 +7,9 @@ authors: - "Nikolas Burk" metaTitle: "Choosing the Best Join Strategy in Prisma ORM: join vs query" metaDescription: "Prisma ORM loads relations with database-level joins (a single SQL query with JSON aggregation) or application-level joins (one query per table). Learn how both work and when to use which." -metaImagePath: "/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta-0fff8d25a4c84741b32994979eb8ff448d60d4fe-1266x711.png" -heroImagePath: "/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero-cb8e59a2cadf127ac984a9913e7742e59a169fc1-844x474.svg" +metaImagePath: "/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png" +heroImagePath: "/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg" +heroImageAlt: "Under the label \"Statements sent for one relation query\", a grey numeral 2 labelled \"query, one query per table\" points by arrow to a large black numeral 1 labelled \"join, one statement, merged in the database\"." tags: - "orm" - "education" diff --git a/apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx b/apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx index 0575921169..d82e0717a8 100644 --- a/apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx +++ b/apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma ORM Support for Edge Functions is Now in Preview" metaDescription: "We're thrilled to share that you can now access your database with Prisma ORM from Vercel Edge Functions and Cloudflare Workers." -metaImagePath: "/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta-937f91566465c5ea1d23ce3f243d06a14f138693-2000x1123.png" -heroImagePath: "/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero-d5c2d5f06095314aeceda56c7bd867e5859e468f-844x474.svg" -heroImageAlt: "Prisma ORM Support for Edge Functions (Preview)" +metaImagePath: "/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png" +heroImagePath: "/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg" +heroImageAlt: "An ink code card showing three lines from the article's Cloudflare Worker: creating the PlanetScale client, wrapping it in the PrismaPlanetScale driver adapter, and passing that adapter to a new PrismaClient, with the last line highlighted." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx b/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx index 53d41d887d..a110c43fda 100644 --- a/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx +++ b/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma ORM v6.14.0, Relationships for SQL Views, More Robust Management API & More" metaDescription: "We just released Prisma ORM v6.14.0 with the ability to define relations across views, a robust API for programmatically provisioning Prisma Postgres & more." -metaImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta-20e5d5b2879055d3aba22acf59aaa6c37933050a-1266x711.png" -heroImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero-72c1a4cbd495ed6f219e870b19056a529c5e03c7-844x474.svg" +metaImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png" +heroImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg" +heroImageAlt: "An ink schema.prisma code card showing a view UserInfo block whose email field carries the @unique attribute, highlighted in cyan beside the headline 'Relations across SQL views'." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx b/apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx index 8f5149932f..c1b93eb847 100644 --- a/apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx +++ b/apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma ORM without Rust: Latest Performance Benchmarks" metaDescription: "See the latest benchmarks for Prisma ORM's Rust-free architecture, including faster queries, smaller bundles, and what the TypeScript/WASM Query Compiler changes." -metaImagePath: "/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta-8d83e1420faca85afbc7a1cf78f660374577d3f3-1266x711.png" -heroImagePath: "/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero-be74183d9d749c0b17c850334f376711d8a44d22-844x474.svg" +metaImagePath: "/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png" +heroImagePath: "/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg" +heroImageAlt: "A light cover showing the benchmark result for a findMany with a many-to-many include: 1539 ms on the Rust query engine struck through, and 136 ms Rust-free set in large type." series: rust-to-typescript-migration-journey seriesIndex: 5 tags: diff --git a/apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx b/apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx index 3f96c1a691..b5dca968df 100644 --- a/apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx +++ b/apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx @@ -6,9 +6,9 @@ authors: - "Shane Neubauer" metaTitle: "Prisma Postgres is completely free during Early Access" metaDescription: "We decided to make Prisma Postgres free to use during Early Access so everyone can try it" -metaImagePath: "/prisma-postgres-free-during-early-access/imgs/meta-d6dcf60dd017e2368e87d826024499f7211d4ded-1200x630.png" -heroImagePath: "/prisma-postgres-free-during-early-access/imgs/hero-c87f24556cf1217e813a4a9a08c62d7917484283-844x474.svg" -heroImageAlt: "Prisma Postgres is completely free during Early Access" +metaImagePath: "/prisma-postgres-free-during-early-access/imgs/meta.png" +heroImagePath: "/prisma-postgres-free-during-early-access/imgs/hero.svg" +heroImageAlt: "A timeline on light paper: the word Free above a solid yellow bar labelled Early Access, ending at a tick where a grey segment labelled Pricing arrives at GA, early 2025 begins." --- Today we're making Prisma Postgres completely free during the Early Access period. We recognized from the community feedback that our pricing could be clearer. We want you to be able to try Prisma Postgres with no hesitations or concerns - so now you can! diff --git a/apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx b/apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx index 9b5e4aee12..6020f2bfbe 100644 --- a/apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx +++ b/apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma Postgres: Now in Your Favorite Environment" metaDescription: "Integrate Prisma Postgres in your Netlify site in less 5 minutes or quickly try it out without leaving your browser using the official Project IDX template." -metaImagePath: "/prisma-postgres-now-in-your-favorite-environment/imgs/meta-12d6d371f827870b3696b4175ace7b5f387987e0-1266x711.png" -heroImagePath: "/prisma-postgres-now-in-your-favorite-environment/imgs/hero-cd58c3a37787f4b995d9fad1134e4f51e697175d-844x474.svg" +metaImagePath: "/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png" +heroImagePath: "/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg" +heroImageAlt: "A diagram where a Prisma Postgres card connects with yellow arrows to three environment tiles: Netlify, Project IDX, and a dashed Vercel Marketplace tile labeled coming soon." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx b/apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx index a41023233a..910d02a064 100644 --- a/apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx +++ b/apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx @@ -7,8 +7,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma Postgres: The Future of Serverless Databases" metaDescription: "Prisma Postgres is finally ready for production! Built on unikernels, it enables a unique set of benefits like no cold starts, connection pooling, edge caching, & more!" -metaImagePath: "/prisma-postgres-the-future-of-serverless-databases/imgs/meta-53a4a10eec49b801af6538901c44b870e7d83404-1266x711.png" -heroImagePath: "/prisma-postgres-the-future-of-serverless-databases/imgs/hero-8c5b6c03a60ac2704f65689abf686ff4adfd6e67-844x474.svg" +metaImagePath: "/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png" +heroImagePath: "/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg" +heroImageAlt: "Three stacked elliptical planes standing for a Prisma Postgres database, the top rim traced with the Prisma spectrum, beside the words No cold starts." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx b/apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx index 16ae92c4a7..822ceb31b7 100644 --- a/apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx +++ b/apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Prisma support for CockroachDB is now in Preview" metaDescription: "Learn about the Preview release of the Prisma CockroachDB connector and the benefits of using Prisma with CockroachDB." -metaImagePath: "/prisma-preview-cockroach-db-release/imgs/meta-77148d314c74789939fb2b2af2bf3f82378cebc0-1920x1080.png" -heroImagePath: "/prisma-preview-cockroach-db-release/imgs/hero-ebf53ec190dab44f271d4f0dd1ad658507f55b66-844x474.svg" -heroImageAlt: "Prisma support for CockroachDB is now in Preview" +metaImagePath: "/prisma-preview-cockroach-db-release/imgs/meta.png" +heroImagePath: "/prisma-preview-cockroach-db-release/imgs/hero.svg" +heroImageAlt: "The Prisma schema datasource provider value cockroachdb set in oversized monospace type above the caption Preview in Prisma 3.9.0." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx b/apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx index e9cfb0c190..df5cb3e452 100644 --- a/apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx +++ b/apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx @@ -7,9 +7,9 @@ authors: - "Johannes Schickling" metaTitle: "Prisma raises $4.5M to build a GraphQL access layer for all databases" metaDescription: "Prisma raised $4.5M to build a GraphQL data layer for databases and shared the vision behind the company's next phase of product development." -metaImagePath: "/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero-73c2e03277f2cceb9f6cc435356d4a7ab822ed5b-1200x630.png" -heroImagePath: "/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero-73c2e03277f2cceb9f6cc435356d4a7ab822ed5b-1200x630.png" -heroImageAlt: "Prisma raises $4.5M to build the GraphQL data layer for all databases" +metaImagePath: "/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png" +heroImagePath: "/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg" +heroImageAlt: "The figure $4.5M set as a giant numeral on light paper lit by a soft red bloom, above the line “Seed round led by Kleiner Perkins”." --- Today, we have some very exciting news to share: **We've raised a $4.5 million** seed round led by Kleiner Perkins and diff --git a/apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx b/apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx index 1f40dc167e..acf4cb0417 100644 --- a/apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx +++ b/apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx @@ -6,8 +6,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Prisma Raises $12M Series A to Build Next Generation of Database Tools" metaDescription: "Prisma raised $12M in Series A funding to keep building the next generation of database tools for application developers." -metaImagePath: "/prisma-raises-series-a-saks1zr7kip6/imgs/meta-c3234082c86092e77a0b0a840c32a3c9a44f3754-1252x630.png" -heroImageAlt: "Building construction" +metaImagePath: "/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png" +heroImagePath: "/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg" +heroImageAlt: "The figure $12M set large on a light paper surface, the dollar sign in prism yellow, captioned 'Led by Amplify Partners'." --- With [Prisma 2.0 ready for production](https://www.prisma.io/blog/announcing-prisma-2-n0v98rzc8br1), we are excited to continue pursuing our mission of building the next generation of database tools for application developers. In this post, we'll share details about the funding and what it means for our community. diff --git a/apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx b/apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx index 251a5a0130..0a604c57c2 100644 --- a/apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx +++ b/apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx @@ -7,8 +7,9 @@ authors: - "Jon Harrell" metaTitle: "Prisma Schema Language: The Best Way to Define Your Data" metaDescription: "Prisma Schema Language (PSL) is a declarative language for defining data models and relations. See how it compares to TypeScript-based schemas and why it works so well with AI coding tools." -metaImagePath: "/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta-1da35c49cd47b8676c043fdaf86754f6c724f31e-1266x711.png" -heroImagePath: "/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero-efd7f9391222815cdf5c0bb4d17f05ad6b649f70-844x474.svg" +metaImagePath: "/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png" +heroImagePath: "/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg" +heroImageAlt: "A dark schema.prisma card on a light surface showing the User model in Prisma Schema Language, with the posts Post[] relation field highlighted in cyan." --- Prisma Schema Language (PSL) is a declarative, domain-specific language for defining database schemas. You describe your models, fields, and relations in one readable schema, and Prisma ORM generates the migrations and a fully type-safe client from it. This post explains how PSL works and compares it to TypeScript-based schema definitions across simplicity, relationship modeling, collaboration, productivity, consistency, and AI integration. diff --git a/apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx b/apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx index d3c107db6e..ea578c5e59 100644 --- a/apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx +++ b/apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Preview Support for Microsoft SQL Server | Prisma 2.10" metaDescription: "Prisma 2.10 added preview support for Microsoft SQL Server, expanding Prisma's database coverage for teams building with SQL Server." -metaImagePath: "/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero-a14944906d95712a04317e2c17e35cef35fac770-846x426.png" -heroImagePath: "/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero-a14944906d95712a04317e2c17e35cef35fac770-846x426.png" -heroImageAlt: "Prisma 2.10 Adds Preview Support for Microsoft SQL Server" +metaImagePath: "/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png" +heroImagePath: "/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg" +heroImageAlt: "A white card listing the databases Prisma Client supported at 2.10, PostgreSQL, MySQL, SQLite and MariaDB marked GA, with Microsoft SQL Server highlighted in prism cyan and marked Preview." --- Today we are excited to expand the range of supported database providers with preview support of **Microsoft SQL Server**. [Try it out](https://github.com/prisma/prisma-examples/tree/latest/databases/sql-server) and let us know what you think! diff --git a/apps/blog/content/blog/prisma-startup-program/index.mdx b/apps/blog/content/blog/prisma-startup-program/index.mdx index 7a966e797f..a21cf4d116 100644 --- a/apps/blog/content/blog/prisma-startup-program/index.mdx +++ b/apps/blog/content/blog/prisma-startup-program/index.mdx @@ -6,9 +6,9 @@ authors: - "Shane Neubauer" metaTitle: "Helping Founders Scale Faster and Build Smarter" metaDescription: "The Prisma Startups Program gives early-stage teams credits, guidance, and support to build faster with Prisma Postgres and scalable database workflows." -metaImagePath: "/prisma-startup-program/imgs/meta-63addacd981bca37aca44f2cb8e46109fb7f00ce-1266x711.png" -heroImagePath: "/prisma-startup-program/imgs/hero-8e11313115c9b81a2482973c2046e817f6a0b101-844x474.svg" -heroImageAlt: "Announcing the Prisma Startup Program" +metaImagePath: "/prisma-startup-program/imgs/meta.png" +heroImagePath: "/prisma-startup-program/imgs/hero.svg" +heroImageAlt: "A large $10,000 numeral on light paper lit by a yellow bloom, labelled as Prisma Postgres credits for early-stage teams covering the database bill for up to a year." --- At Prisma, we know that building a startup is an intense journey—one that requires focus, speed, and the right tools to scale. That’s why we’re excited to introduce the Prisma Startups Program, designed to help early-stage companies move fast, stay lean, and build scalable applications with ease. diff --git a/apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx b/apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx index 252577d99b..e41317c5a7 100644 --- a/apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx +++ b/apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx @@ -6,9 +6,9 @@ authors: - "Hervé Labas" metaTitle: "A Visual Interface for Your Database | Prisma Studio" metaDescription: "Prisma Studio is a visual database browser for viewing and editing application data, with filtering, pagination, and relation-aware workflows for Prisma projects." -metaImagePath: "/prisma-studio-3rtf78dg99fe/imgs/meta-6c7061054a1005d0cdfebd5dd8e353b56091beb9-1692x852.png" -heroImagePath: "/prisma-studio-3rtf78dg99fe/imgs/hero-cdf9e7b1b90248dde0b35f13b0f30afdf859edeb-870x439.png" -heroImageAlt: "Prisma Studio - A Visual Interface for Your Database" +metaImagePath: "/prisma-studio-3rtf78dg99fe/imgs/meta.png" +heroImagePath: "/prisma-studio-3rtf78dg99fe/imgs/hero.svg" +heroImageAlt: "A white data-grid card with the columns id, email, name and posts, where one cell in the name column is in edit focus with a cyan ring and a caret." --- [Prisma Studio](https://github.com/prisma/studio) helps developers manage their application data. We're excited to share that it is now part of the stable Prisma release. Try out the [online demo](http://prisma.studio/) or connect it to your existing database. diff --git a/apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx b/apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx index 94c6a20f44..63a0ec8b33 100644 --- a/apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx +++ b/apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Prisma – The Complete ORM for Node.js & TypeScript" metaDescription: "After more than two years of development, we are excited to share that all Prisma tools are ready for production." -metaImagePath: "/prisma-the-complete-orm-inw24qjeawmb/imgs/meta-67f18c89e81a4b74c9be5ee10cee19de1033a62e-1692x852.png" -heroImagePath: "/prisma-the-complete-orm-inw24qjeawmb/imgs/hero-b1d4c8cd672457585505b61a7d6a73c0d6a9c37e-870x438.png" -heroImageAlt: "The Complete ORM for Node.js & TypeScript" +metaImagePath: "/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png" +heroImagePath: "/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg" +heroImageAlt: "One schema.prisma file enters a prism and is refracted into three labelled beams: Prisma Client, Prisma Migrate and Prisma Studio." tags: - "announcement" --- diff --git a/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx b/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx index 158a5bea09..cacefdb2ec 100644 --- a/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx +++ b/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "SQLite on the Edge: Prisma Support for Turso is in Early Access" metaDescription: "Prisma support for Turso is now in Early Access, enabling you to bring SQLite closer to your users. Try it out!" -metaImagePath: "/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta-c9c3aaf0efdf8abb7b2e576e7da9e728058bf1bd-1200x675.png" -heroImagePath: "/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero-95bd2c2570955da7f55308c6531d0e28e6ed262d-844x475.svg" -heroImageAlt: "SQLite on the Edge: Prisma Support for Turso is in Early Access" +metaImagePath: "/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png" +heroImagePath: "/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg" +heroImageAlt: "A three-step flow on light paper reading Prisma Client, then the highlighted PrismaLibSQL driver adapter, then Turso's edge-hosted libSQL, with the adapter-to-Turso hop labelled over HTTP." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx b/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx index 52b61fe4b1..b59b170351 100644 --- a/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx +++ b/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "Introducing the Read Replicas Extension for Prisma Client" metaDescription: "Distribute read traffic across replicas using the new read replicas extension for Prisma Client." -metaImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta-c31e5ccdacb3cf0cffd480480c7d6f19950f8eca-1266x711.png" -heroImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero-a717625cf0bcb939c62e28aa934c650dfb597df6-844x474.svg" -heroImageAlt: "Introducing the Read Replicas Extension for Prisma Client" +metaImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png" +heroImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg" +heroImageAlt: "A diagram in which Prisma Client sends read queries along two cyan arrows to two replica cards and write queries along a grey arrow to a primary database card." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx b/apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx index a67654c483..10f650300c 100644 --- a/apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx +++ b/apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Relay Modern’s @connection directive | Prisma" metaDescription: "Learn how Relay Modern's @connection directive works and how it helps manage pagination and cache behavior in client apps." -metaImagePath: "/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero-d77cd8556b1e37826824d5a4feb83f16ea5b35b7-720x385.png" -heroImagePath: "/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero-d77cd8556b1e37826824d5a4feb83f16ea5b35b7-720x385.png" -heroImageAlt: "Relay Modern" +metaImagePath: "/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png" +heroImagePath: "/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg" +heroImageAlt: "A dark code card showing two lines from Relay Modern's Todo example: the todos field annotated with @connection(key: \"TodoList_todos\") in TodoList.js, and ConnectionHandler.getConnection(userProxy, 'TodoList_todos') in AddTodoMutation.js, with the shared cache key highlighted in both." --- The @connection directive is new to Relay Modern and unfortunately doesn’t have any official documentation. In this diff --git a/apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx b/apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx index 052535cb0c..24ddf26f2a 100644 --- a/apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx +++ b/apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Relay vs Apollo - Comparison of GraphQL clients for React apps" metaDescription: "Compare Relay and Apollo for React GraphQL apps, including their tradeoffs in caching, tooling, and developer experience." -metaImagePath: "/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero-bec4b18f6f63be54e12c792608ca39e7793a9216-900x482.png" -heroImagePath: "/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero-bec4b18f6f63be54e12c792608ca39e7793a9216-900x482.png" -heroImageAlt: "Relay vs Apollo " +metaImagePath: "/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png" +heroImagePath: "/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg" +heroImageAlt: "A comparison card contrasting Relay and Apollo across flexibility, difficulty, frameworks and subscriptions, with the flexibility row highlighted in yellow." --- Relay and Apollo are the most popular and sophisticated GraphQL clients available at the moment. But how do you know diff --git a/apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx b/apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx index 9eca623ee0..bf2e4522ed 100644 --- a/apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx +++ b/apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx @@ -6,9 +6,9 @@ authors: - "Søren Bramer Schmidt" metaTitle: "Restructuring Prisma" metaDescription: "Restructuring Prisma" -metaImagePath: "/restructure-announcement-1a9ek279du8j/imgs/meta-8f493f2942862133572d5da0ff85cfc0f6980c42-1266x712.png" -heroImagePath: "/restructure-announcement-1a9ek279du8j/imgs/hero-6cee39353188494b1c1877524e073b4f7c27f4b7-844x474.svg" -heroImageAlt: "Restructuring Prisma" +metaImagePath: "/restructure-announcement-1a9ek279du8j/imgs/meta.png" +heroImagePath: "/restructure-announcement-1a9ek279du8j/imgs/hero.svg" +heroImageAlt: "The full-colour Prisma lockup centred on paper above a hairline rule, with a soft prism wash along the lower edge." tags: - "announcement" --- diff --git a/apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx b/apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx index 5988533df5..7c835633ca 100644 --- a/apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx +++ b/apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Rust-free Prisma ORM is Ready for Production, ORM v16.6.0 & More" metaDescription: "The future of Prisma ORM is here: The Rust-free version of Prisma ORM and the ESM-first prisma-client generator are both Generally Available in v6.16.0." -metaImagePath: "/rust-free-prisma-orm-is-ready-for-production/imgs/meta-9c1f5eb2a51fc9c54ed069779bcc76e5eb0af5d4-1266x711.png" -heroImagePath: "/rust-free-prisma-orm-is-ready-for-production/imgs/hero-a6f1588362b51200aac9693f9c331101d6b397d1-844x474.svg" -heroImageAlt: "Visual for 6.16.0" +metaImagePath: "/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png" +heroImagePath: "/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg" +heroImageAlt: "The figure ~90% set large, labelled as the bundle-size reduction from removing the Rust engine from Prisma ORM" series: rust-to-typescript-migration-journey seriesIndex: 6 tags: diff --git a/apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx b/apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx index 0ba80e374c..e8d98217f4 100644 --- a/apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx +++ b/apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx @@ -7,8 +7,9 @@ authors: - "Will Madden" metaTitle: "Rust to TypeScript Update: Boosting Prisma ORM Performance" metaDescription: "A blog post showing how the new Query Compiler project, where the Prisma query engine is being re-written from Rust to TypeScript, is improving performance." -metaImagePath: "/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta-a0def58926eae703ce0eccf28d5df589a2c5bc05-1266x711.png" -heroImagePath: "/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero-508e044038cf37bd9138323288a3d8b5be57ca63-844x474.svg" +metaImagePath: "/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png" +heroImagePath: "/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg" +heroImageAlt: "A two-column chart comparing the same findMany benchmark over 25,000 records: 185 ms on the Rust query engine against 55 ms on the Query Compiler, 3.4 times faster." series: rust-to-typescript-migration-journey seriesIndex: 2 --- diff --git a/apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx b/apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx index 3a7e31ed7d..370fce5317 100644 --- a/apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx +++ b/apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx @@ -6,9 +6,9 @@ authors: - "Stephen King" metaTitle: "How TypeScript 4.9 `satisfies` Your Prisma Workflows" metaDescription: "Learn how TypeScript 4.9''s new `satisfies` operator can help you write type-safe code with Prisma" -metaImagePath: "/satisfies-operator-ur8ys8ccq7zb/imgs/meta-5c8b99ea1a4d8c800d3bdeb71a4734c95d56d6c4-1270x715.png" -heroImagePath: "/satisfies-operator-ur8ys8ccq7zb/imgs/hero-2bc010b9062230164bcd686cf3416266fd0ece1f-843x474.svg" -heroImageAlt: "How TypeScript 4.9 `satisfies` Your Prisma Workflows" +metaImagePath: "/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png" +heroImagePath: "/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg" +heroImageAlt: "An ink code card showing a Prisma select object typed with the TypeScript 4.9 satisfies operator, with the satisfies keyword picked out in cyan." tags: - "education" --- diff --git a/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx b/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx index af4e55f716..119095235d 100644 --- a/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx +++ b/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Handle high load on Black Friday with Prisma Accelerate" metaDescription: "Ensure stability and performance during high traffic periods with Prisma Accelerate's connection pooling" -metaImagePath: "/saving-black-friday-with-connection-pooling/imgs/meta-6d20845cc06f6ca9bb7babc20be49a42b22c3dd0-1200x630.png" -heroImagePath: "/saving-black-friday-with-connection-pooling/imgs/hero-038b90e253764d69963a9b4ef3891d95fe6bbaa2-844x474.svg" -heroImageAlt: "Chart displaying peak load on servers during Black Friday" +metaImagePath: "/saving-black-friday-with-connection-pooling/imgs/meta.png" +heroImagePath: "/saving-black-friday-with-connection-pooling/imgs/hero.svg" +heroImageAlt: "A diagram of seven serverless function tiles fanning into a single connection pool card labelled Prisma Accelerate, which sends one pooled connection on to a PostgreSQL volume." tags: - "platform" --- diff --git a/apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx b/apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx index e1da87bbaf..1f0b3bada2 100644 --- a/apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx +++ b/apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Securely Access Prisma Postgres from the Frontend (Early Access)" metaDescription: "Define security rules for Prisma Postgres in TypeScript and securely talk to your database directly from your React, Vue, Svelte, or any other frontend apps." -metaImagePath: "/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta-386582d6124851db648d76377cab73647fcd1fdb-1266x711.png" -heroImagePath: "/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero-13e2df77207c89a8c1ef8564e21b5efca86a55a3-844x474.svg" +metaImagePath: "/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png" +heroImagePath: "/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg" +heroImageAlt: "An ink code card holding the defineRules configuration from the post, with the line returning isAuthenticated(context.userId) highlighted in Postgres yellow, beside the words Rules, not secrets." tags: - "announcement" --- diff --git a/apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx b/apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx index ebebcc5885..82661e4799 100644 --- a/apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx +++ b/apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx @@ -8,9 +8,9 @@ authors: - "Hervé Labas" metaTitle: "Prisma Raises $40M to Build the Application Data Platform for Development Teams & Organizations" metaDescription: "We are excited to announce that we have raised our Series B funding. Read this article to learn more about our vision of an Application Data Platform built for development teams and organizations." -metaImagePath: "/series-b-announcement-v8t12ksi6x/imgs/meta-d0fb3a031df9c776e2ca156ac0a8a297c9340574-1267x711.png" -heroImagePath: "/series-b-announcement-v8t12ksi6x/imgs/hero-947eaa8ea58c544f00d8eff50fa587e2e10932cb-844x474.svg" -heroImageAlt: "Prisma Raises $40M to Build the Application Data Platform" +metaImagePath: "/series-b-announcement-v8t12ksi6x/imgs/meta.png" +heroImagePath: "/series-b-announcement-v8t12ksi6x/imgs/hero.svg" +heroImageAlt: "The Series B round size, $40M, set as a giant numeral on paper with the label led by Altimeter, and the Prisma logo's three prism stripes crossing the bottom-right corner." tags: - "announcement" --- diff --git a/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx b/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx index 5debf9c8c8..09c0b7b76c 100644 --- a/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx +++ b/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx @@ -6,9 +6,9 @@ authors: - "Jon Harrell" metaTitle: "Support for Serverless Database Drivers in Prisma ORM Is Now in Preview" metaDescription: "Prisma support for JavaScript-based serverless database drivers is now in Preview, enabling you to connect to Neon and PlanetScale via HTTP and WebSockets." -metaImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/meta-216c379698ad6fde0769ab278a33890eecc24240-1266x711.png" -heroImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/hero-57908d058c349573b2f17ef889d25a23a427b0e2-844x474.svg" -heroImageAlt: "Support for Serverless Database Drivers in Prisma ORM Is Now in Preview" +metaImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png" +heroImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg" +heroImageAlt: "A three-node flow running from Prisma Client through a driver adapter to Neon and PlanetScale, with the final hop labelled HTTP / WebSocket." tags: - "orm" - "announcement" diff --git a/apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx b/apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx index dc2c23162d..14cd9e7af8 100644 --- a/apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx +++ b/apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Update on the State of Prisma 2 (December 2019)" metaDescription: "Get the December 2019 Prisma 2 roadmap update, including timeline changes and expected production-ready releases." -metaImagePath: "/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero-9f370997d51d3a43686ee7fc9e492dc1d54d197c-1200x630.png" -heroImagePath: "/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero-9f370997d51d3a43686ee7fc9e492dc1d54d197c-1200x630.png" -heroImageAlt: "State of Prisma 2 (December 2019)" +metaImagePath: "/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png" +heroImagePath: "/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg" +heroImageAlt: "A roadmap card listing Photon.js for Q1 2020, Lift for Q2 2020, and Prisma 2 tooling for mid 2020." --- We introduced the first Preview version of Prisma 2 in June earlier this year. Today, we are excited to share an updated timeline for Prisma 2 and the expected production-ready releases. diff --git a/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx b/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx index 75fc3c4c1a..ab42605f1b 100644 --- a/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx +++ b/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Studio for Prisma Postgres: View and Edit Your Data Online" metaDescription: "Prisma Studio is now available in the Platform Console for Prisma Postgres databases. It’s the easiest way to explore and manipulate the data in your Prisma Postgres instance." -metaImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta-ad1ac68a3b55942c10ba0e35763322f77a8173cd-1266x711.png" -heroImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero-b9eb48224460d3dd63221a55e6322efd9f81e833-844x474.svg" +metaImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png" +heroImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg" +heroImageAlt: "A stack of white database planes with its top plane lifted away and tinted Postgres yellow, carrying three record bars, beside the line 'Your data, in the browser'." tags: - "announcement" - "platform" diff --git a/apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx b/apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx index ba11b3ecd1..1b3b44f268 100644 --- a/apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx +++ b/apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx @@ -6,9 +6,9 @@ authors: - "Sonia Lomo" metaTitle: "Adding Database Access to your SvelteKit App with Prisma" metaDescription: "Learn how you can interact with a database from a SvelteKit application using Prisma." -metaImagePath: "/sveltekit-prisma-kvCOEoeQlC/imgs/meta-b2a7a9354acfb2927aec03119e98cf6e5c04271b-1266x712.png" -heroImagePath: "/sveltekit-prisma-kvCOEoeQlC/imgs/hero-b3ac03355cfac30be65afcc3da2556f9cb07cbdd-844x478.svg" -heroImageAlt: "Adding Database Access to your SvelteKit App with Prisma" +metaImagePath: "/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png" +heroImagePath: "/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg" +heroImageAlt: "A dark code card on light paper showing a SvelteKit +page.server.ts load function that queries published posts with Prisma Client." tags: - "education" --- diff --git a/apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx b/apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx index e364fd5cb6..4b5d5768f4 100644 --- a/apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx +++ b/apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx @@ -7,9 +7,9 @@ authors: - "Sabin Adams" metaTitle: "Mock Prisma Client for Unit Tests (Prisma 7 + Vitest)" metaDescription: "How to mock Prisma Client with Vitest and vitest-mock-extended so you can unit test database code without a real database. Verified on Prisma ORM 7.8." -metaImagePath: "/testing-series-1-8eRB5p0Y8o/imgs/meta-4fe84c71772f90f758778c5a9f5e6db96af0efd2-1266x712.png" -heroImagePath: "/testing-series-1-8eRB5p0Y8o/imgs/hero-c96c41c8c5f42d2c52751fac51563dbc8f01b52c-844x474.svg" -heroImageAlt: "The Ultimate Guide to Testing with Prisma: Mocking Prisma Client" +metaImagePath: "/testing-series-1-8eRB5p0Y8o/imgs/meta.png" +heroImagePath: "/testing-series-1-8eRB5p0Y8o/imgs/hero.svg" +heroImageAlt: "An ink code card showing the manual Prisma Client mock file, with the mockDeep call that returns the deep-mocked client highlighted in cyan." series: testing-with-prisma seriesIndex: 1 tags: diff --git a/apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx b/apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx index d342874ed4..07ec02723d 100644 --- a/apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx +++ b/apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx @@ -7,9 +7,9 @@ authors: - "Sabin Adams" metaTitle: "Unit Testing Prisma Code with Vitest (Prisma 7)" metaDescription: "How to unit test functions that use Prisma ORM with Vitest: what to test, what to skip, and how to use a mocked client. Verified on Prisma 7.8 and Vitest 4." -metaImagePath: "/testing-series-2-xPhjjmIEsM/imgs/meta-5b092626852ebeccdc7962534c6e45d87869900d-1266x712.png" -heroImagePath: "/testing-series-2-xPhjjmIEsM/imgs/hero-c9711528e68bdd2e62b432a8fad0f7e6f4859ede-844x474.svg" -heroImageAlt: "The Ultimate Guide to Testing with Prisma: Unit Testing" +metaImagePath: "/testing-series-2-xPhjjmIEsM/imgs/meta.png" +heroImagePath: "/testing-series-2-xPhjjmIEsM/imgs/hero.svg" +heroImageAlt: "A two-column ledger on light paper: tags.service.ts sits under a cyan-ruled Unit test heading, while quotes.router.ts and quotes.service.ts sit under Skip." series: testing-with-prisma seriesIndex: 2 tags: diff --git a/apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx b/apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx index 91323d55a1..0d26510f5a 100644 --- a/apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx +++ b/apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx @@ -7,8 +7,9 @@ authors: - "Sabin Adams" metaTitle: "Integration Testing Prisma with Vitest & Postgres" metaDescription: "How to integration test a Prisma ORM API against a real database with Vitest and Supertest, using a local Prisma Postgres. Verified on Prisma 7.8, Vitest 4." -heroImagePath: "/testing-series-3-aBUyF8nxAn/imgs/hero-d60da664991c33bbb498244fe0303813fad6a657-844x474.svg" -heroImageAlt: "The Ultimate Guide to Testing with Prisma: Integration Testing" +metaImagePath: "/testing-series-3-aBUyF8nxAn/imgs/meta.png" +heroImagePath: "/testing-series-3-aBUyF8nxAn/imgs/hero.svg" +heroImageAlt: "A database drawn as stacked planes inside a cyan loop arrow, labelled resetDb() runs before every test." series: testing-with-prisma seriesIndex: 3 tags: diff --git a/apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx b/apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx index a7e97572ce..8a5325e498 100644 --- a/apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx +++ b/apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx @@ -7,9 +7,9 @@ authors: - "Sabin Adams" metaTitle: "End-to-End Testing Prisma Apps with Playwright" metaDescription: "How to write end-to-end tests for a Prisma ORM app with Playwright, using page objects, fixtures, and Prisma Client for cleanup. Verified on Prisma 7.8." -metaImagePath: "/testing-series-4-OVXtDis201/imgs/meta-b984941339322c22e27db8dae8010454522fba88-1266x712.png" -heroImagePath: "/testing-series-4-OVXtDis201/imgs/hero-205e6248fbc41a4e2b56b77d5a68ccc8e67742db-844x474.svg" -heroImageAlt: "The Ultimate Guide to Testing with Prisma: End-To-End Testing" +metaImagePath: "/testing-series-4-OVXtDis201/imgs/meta.png" +heroImagePath: "/testing-series-4-OVXtDis201/imgs/hero.svg" +heroImageAlt: "A Playwright reporter panel listing the five passing end-to-end authentication tests the article writes in auth.spec.ts." series: testing-with-prisma seriesIndex: 4 tags: diff --git a/apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx b/apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx index a8a27dd926..4fe5cfe686 100644 --- a/apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx +++ b/apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx @@ -7,9 +7,9 @@ authors: - "Sabin Adams" metaTitle: "CI for Prisma Tests with GitHub Actions (Prisma 7)" metaDescription: "How to run Prisma ORM unit, integration, and end-to-end tests in a GitHub Actions CI pipeline with a Postgres service. Verified with current action versions." -metaImagePath: "/testing-series-5-xWogenROXm/imgs/meta-1688da94cebe335c8252420b638b7dfa43b135f2-1267x712.png" -heroImagePath: "/testing-series-5-xWogenROXm/imgs/hero-1f810a93209524174c2aefb95145a831d4c0fd34-844x474.svg" -heroImageAlt: "The Ultimate Guide to Testing with Prisma: CI Pipelines" +metaImagePath: "/testing-series-5-xWogenROXm/imgs/meta.png" +heroImagePath: "/testing-series-5-xWogenROXm/imgs/hero.svg" +heroImageAlt: "A flow diagram under the headline \"Tested before merge\": a pull_request node fans out into three GitHub Actions job tiles — unit-tests with no database, integration-tests on postgres:17, and e2e-tests on postgres:17 with Playwright." series: testing-with-prisma seriesIndex: 5 tags: diff --git a/apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx b/apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx index 02c881774e..e3c8e29cd2 100644 --- a/apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx +++ b/apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx @@ -6,9 +6,9 @@ authors: - "Uri Goldshtein" metaTitle: "Prisma Hands The Guild the Maintenance of the GraphQL CLI" metaDescription: "The Guild took over development of GraphQL CLI and related libraries, helping ensure their continued growth and maintenance." -metaImagePath: "/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero-9955207df52f4ccd9dd7985866c84af54806940a-1200x630.png" -heroImagePath: "/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero-9955207df52f4ccd9dd7985866c84af54806940a-1200x630.png" -heroImageAlt: "The Guild Takes over Development of the GraphQL CLI & Other Libraries" +metaImagePath: "/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png" +heroImagePath: "/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg" +heroImageAlt: "The package names graphql-cli, graphql-config, graphql-import and graphql-binding bracketed together with an arrow pointing to their new maintainer, The Guild" --- [The Guild](http://the-guild.dev) is known for their GraphQL expertise. We are excited that they're taking over development of our open source libraries [`graphql-cli`](https://github.com/graphql-cli/graphql-cli/), [`graphql-config`](https://github.com/prisma/graphql-config), [`graphql-import`](https://github.com/prisma/graphql-import) and [`graphql-binding`](https://github.com/graphql-binding/graphql-binding). diff --git a/apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx b/apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx index 5a5f35d095..a4a5c16e11 100644 --- a/apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx +++ b/apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "The Problems of \"Schema-First\" GraphQL Server Development | Prisma" metaDescription: "Explore the limitations of schema-first GraphQL server development and the case for code-first alternatives like GraphQL Nexus." -metaImagePath: "/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta-72943771e4be50e26d645130d640c20a4deb48ee-1200x630.png" -heroImagePath: "/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero-91c07e1fd19a7c0ebdd6e970c354bb8d7630a23c-870x457.png" -heroImageAlt: "The Problems of \"Schema-First\" GraphQL Server Development" +metaImagePath: "/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png" +heroImagePath: "/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg" +heroImageAlt: "A two-row card contrasting SDL-first, where schema.graphql is written first and resolvers must match it, with code-first, where resolver code comes first and schema.graphql is a generated artifact." series: graphql-nexus seriesIndex: 1 --- diff --git a/apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx b/apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx index bcc1314f08..f05aaa977a 100644 --- a/apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx +++ b/apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Top 5 Myths about Prisma ORM" metaDescription: "Discover the truth behind five common misconceptions about Prisma ORM. In this article, we debunk the myths, explore their origins, and separate fact from fiction." -metaImagePath: "/top-5-myths-about-prisma-orm/imgs/meta-7dcace1c4f6f1438c4416c8452417872dafe3b1c-1266x711.png" -heroImagePath: "/top-5-myths-about-prisma-orm/imgs/hero-24e01331d58f1130f12dd51ee84be1895a19a847-844x474.svg" +metaImagePath: "/top-5-myths-about-prisma-orm/imgs/meta.png" +heroImagePath: "/top-5-myths-about-prisma-orm/imgs/hero.svg" +heroImageAlt: "A numbered list of the five myths the article debunks, each line struck through with a cyan rule on light paper." tags: - "education" - "orm" diff --git a/apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx b/apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx index 0ecc829706..4eeb031297 100644 --- a/apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx +++ b/apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "5 Top Reasons Why and How to Use GraphQL | Prisma" metaDescription: "Learn five reasons to use GraphQL and how it can improve flexibility, developer experience, and API efficiency." -metaImagePath: "/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero-646eacc9490ba67cda9493f1e1c959da2090a2ee-1350x900.png" -heroImagePath: "/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero-646eacc9490ba67cda9493f1e1c959da2090a2ee-1350x900.png" -heroImageAlt: "Reasons to use GraphQL | Top 5 Reasons Why and How to use GraphQL" +metaImagePath: "/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png" +heroImagePath: "/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg" +heroImageAlt: "A white card standing in for a REST profile endpoint: name and birthday are kept in ink while address and billing are struck through in prism red as overfetched data." --- GraphQL is becoming the new standard for API development — learn the top reasons why in this article. diff --git a/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx b/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx index a736f69dac..308d443f5d 100644 --- a/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx +++ b/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx @@ -6,9 +6,9 @@ authors: - "Tasin Ishmam" metaTitle: "Prisma Support for Tracing and Metrics Is Now in Preview" metaDescription: "We are excited to launch two new features in Preview: Tracing and Metrics. Try them out and let us know what you think!" -metaImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta-3de44ed88cad8c1704a9b1a43f9f355478c23714-1692x952.png" -heroImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero-e70fb09d875e161b9445bd00b298b6264d85362a-844x474.svg" -heroImageAlt: "Prisma Support for Tracing and Metrics Is Now in Preview" +metaImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png" +heroImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg" +heroImageAlt: "A trace waterfall on light paper: a 10 ms Prisma query bar above a nested 7 ms Prisma engine bar and two cyan-outlined 3 ms database query bars." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx b/apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx index 8a2ef725ca..a36d91960d 100644 --- a/apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx +++ b/apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx @@ -6,9 +6,9 @@ authors: - "Tasin Ishmam" metaTitle: "Monitor Your Server with Tracing Using OpenTelemetry & Prisma" metaDescription: "This tutorial will help you to get started with Prisma's tracing feature and OpenTelemetry in Node.js. Learn how to integrate tracing and OpenTelemetry into a web server built with Express and Prisma." -metaImagePath: "/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta-5d370d0add518302e58ef25004916ad409e53ac8-2538x1428.png" -heroImagePath: "/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero-fd54935bd567302a6c1d9764d103fbe9d691fe99-844x474.svg" -heroImageAlt: "Monitor Your Server with Tracing Using OpenTelemetry & Prisma" +metaImagePath: "/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png" +heroImagePath: "/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg" +heroImageAlt: "A three-row span waterfall showing the root span GET /users/random, the nested prisma.user.findmany span highlighted in cyan, and its prisma:engine child." tags: - "education" - "orm" diff --git a/apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx b/apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx index 2b65e682b3..eb50021327 100644 --- a/apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx +++ b/apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx @@ -8,7 +8,7 @@ metaTitle: "Try Prisma: The Fastest Way to Explore Prisma Examples" metaDescription: "Announcing: Try Prisma. A CLI utility that allows you to easily set up and try out an example projects using Prisma." metaImagePath: "/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png" heroImagePath: "/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg" -heroImageAlt: "Try Prisma: The Fastest Way to Explore Prisma Examples" +heroImageAlt: "The command npx try-prisma set in large monospace type on light paper with a cyan cursor block, above three prisma-examples project paths: javascript/graphql, typescript/rest-nestjs and typescript/grpc." tags: - "announcement" - "orm" diff --git a/apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx b/apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx index 102325bd2e..b7d05a79f9 100644 --- a/apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx +++ b/apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Try the New \"Rust-free\" Version of Prisma ORM (Early Access)" metaDescription: "Try the early-access Rust-free version of Prisma ORM and learn how the new TypeScript/WASM architecture improves performance, deployments, and runtime compatibility." -metaImagePath: "/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta-ff0b26daee0a92c1135e8397f9af50c91aec798c-1266x711.png" -heroImagePath: "/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero-72705c07c42651a759db9aab07ea8a062c671a46-844x474.svg" +metaImagePath: "/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png" +heroImagePath: "/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg" +heroImageAlt: "Two squares scaled by area compare the Prisma ORM bundle: a large pale square labelled 14 MB with Rust engines, and a small cyan square inside it labelled 1.6 MB with the query compiler." series: rust-to-typescript-migration-journey seriesIndex: 3 tags: diff --git a/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx b/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx index 10a1e69ac2..40a8d4a7db 100644 --- a/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx +++ b/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx @@ -7,9 +7,9 @@ authors: - "Vladi Stevanovic" metaTitle: "How Tryg transforms billions of records from different data sources, and expose a single data model via GraphQL and Prisma." metaDescription: "Prisma was a critical technology that enabled Tryg to democratize billions of records from different data sources, through the Tryg 360 platform." -metaImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/meta-4b9d0487846e751fc30531dc46b2e3edb1700df1-1692x852.png" -heroImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/hero-efb10e8cb1102a57b7c9d1b71e7120cf47a8f068-846x426.png" -heroImageAlt: "How Tryg has leveraged Prisma to democratize data" +metaImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png" +heroImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg" +heroImageAlt: "A merge diagram under the words 'Many sources, one data model': five hairline streams labelled 'Billions of records' converge into a cyan card reading 'Canonical model / schema.prisma', which feeds one arrow into a card reading 'GraphQL API / generated resolvers'." tags: - "case-study" --- diff --git a/apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx b/apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx index d2cd15f868..a7dc5d513f 100644 --- a/apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx +++ b/apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Build a Realtime GraphQL Server with Subscriptions | Prisma" metaDescription: "Learn how to build a realtime GraphQL server with subscriptions so clients can receive live event updates." -metaImagePath: "/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero-781be5bd42b889008892c3564dc6bc915c33581f-2000x1050.png" -heroImagePath: "/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero-781be5bd42b889008892c3564dc6bc915c33581f-2000x1050.png" -heroImageAlt: "Tutorial: Building a Realtime GraphQL Server with Subscriptions" +metaImagePath: "/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png" +heroImagePath: "/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg" +heroImageAlt: "Two diagrams on light paper: in the query or mutation lane a client and server exchange a request and a single response; in the subscription lane a dashed long-lived connection stays open while red event markers are pushed back to the client, labelled CREATED, UPDATED, DELETED." --- GraphQL subscriptions allow clients to receive realtime updates from a GraphQL API upon specific events. diff --git a/apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx b/apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx index 6558681b7d..68f560b5c2 100644 --- a/apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx +++ b/apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "How to Render Props in React Apollo 2.1 | Prisma" metaDescription: "Learn how to use the React Apollo 2.1 render props API in a full-stack GraphQL tutorial." -metaImagePath: "/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta-e2111dc3b582d8715d9835a48db4976a57f2b859-1200x630.png" -heroImagePath: "/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero-f130ef1313ac6bbb52267050f3cbc5bc83839911-870x457.svg" -heroImageAlt: "Tutorial: Render Props in React Apollo 2.1" +metaImagePath: "/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png" +heroImagePath: "/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg" +heroImageAlt: "Large type on a light background reading “A prop whose value is a function”, with “a function” in red, above a mono line listing the Query, Mutation and Subscription components." --- A new version of the React Apollo client has been released. Learn how to use the new API in this fullstack tutorial. diff --git a/apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx b/apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx index 45efb4465e..971c79ba0d 100644 --- a/apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx +++ b/apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Using `create-react-native-app` with GraphQL & Apollo | Prisma" metaDescription: "Learn how to build an Instagram-style React Native app with Create React Native App, GraphQL, and Apollo." -metaImagePath: "/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero-a83dd1e60398f33faecaec5abe5adc37027f5811-400x711.png" -heroImagePath: "/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero-a83dd1e60398f33faecaec5abe5adc37027f5811-400x711.png" -heroImageAlt: "GraphQL & Apollo" +metaImagePath: "/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png" +heroImagePath: "/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg" +heroImageAlt: "An ink code card holding the tutorial's Apollo feed query, allPosts sorted by createdAt_DESC returning id, imageUrl and description." --- The easiest way to get started with React Native apps that are using a GraphQL backend is with create-react-native-app diff --git a/apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx b/apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx index 5b2df73d1e..b445872a6a 100644 --- a/apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx +++ b/apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx @@ -6,9 +6,9 @@ authors: - "Etel Sverdlov" metaTitle: "Planting trees from tweets about Prisma in April" metaDescription: "With Earth Day coming up on the 22nd, Prisma will be planting a tree for every tweet about Prisma we see in April" -metaImagePath: "/tweets-for-trees-arboreal/imgs/meta-f097a759f1bb95dac6e0f9d1eda6ce54cfa3ff6d-1688x845.png" -heroImagePath: "/tweets-for-trees-arboreal/imgs/hero-ab93d4111f5adff9a31064f60ab98d64c16d07ad-844x423.svg" -heroImageAlt: "Announcing Tweets for Trees" +metaImagePath: "/tweets-for-trees-arboreal/imgs/meta.png" +heroImagePath: "/tweets-for-trees-arboreal/imgs/hero.svg" +heroImageAlt: "A geometric tree of three stacked triangles in the Prisma prism colours stands on a ground line beside the line \"One tweet, one tree\"." tags: - "announcement" --- diff --git a/apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx b/apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx index ed9b0b778d..2a3b1bcc3c 100644 --- a/apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx +++ b/apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "Type-safe JavaScript with JsDoc" metaDescription: "JsDoc is a great tool for documenting code and providing type-safety in your JavaScript project without any additional configuration. Learn what JsDoc is, how it works, the benefits it provides, and how to use it in your project." -metaImagePath: "/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta-e05807a6755ea2fc83cd43cbab1505eb11f517be-1692x852.png" -heroImagePath: "/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero-98db3908d18a149cca2bec7d980182d69a7d540c-870x438.png" -heroImageAlt: "Type-safe JavaScript with JsDoc" +metaImagePath: "/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png" +heroImagePath: "/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg" +heroImageAlt: "A single JsDoc annotation set as large mono type: /** @type {string} */ above a plain let firstName declaration, with @type in prism cyan." tags: - "education" --- diff --git a/apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx b/apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx index 80b8dd10b0..2e16a5d13f 100644 --- a/apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx +++ b/apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "How to Use GraphQL Nexus with a Database | Prisma" metaDescription: "Learn how to connect GraphQL Nexus to a database with Prisma Client and the Nexus Prisma plugin." -metaImagePath: "/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero-d5d2d2a170d84629937a237d833679a49653a117-1200x630.png" -heroImagePath: "/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero-d5d2d2a170d84629937a237d833679a49653a117-1200x630.png" -heroImageAlt: "Using GraphQL Nexus with a Database" +metaImagePath: "/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png" +heroImagePath: "/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg" +heroImageAlt: "An ink code card on paper showing the article's nexus-prisma snippet, with the line 'definition: t => t.prismaFields([*])' picked out by a prism-red highlight row." series: graphql-nexus seriesIndex: 3 --- diff --git a/apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx b/apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx index 8d1cb03e17..2b5b24d6d4 100644 --- a/apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx +++ b/apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx @@ -6,8 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "Vibe Coding with Limits — How to Build Apps in the Age of AI" metaDescription: "Discover how developers can use AI coding tools to build robust, maintainable software without sacrificing quality." -metaImagePath: "/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta-636ed67ba959f1fcdac2f9a90eea7d34d0f1c73a-1266x711.png" -heroImagePath: "/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero-08d54d27c0d490c7c307f17867861478d442505f-844x474.svg" +metaImagePath: "/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png" +heroImagePath: "/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg" +heroImageAlt: "A horizontal scale of AI coding tools running from AI-assisted coding through prompt-first tools to no-code platforms, with the cyan accent fading as abstraction rises." --- Software development is evolving fast with the rise of AI coding tools. This article explores how developers can harness their speed and power without losing control — and why understanding your code still matters. diff --git a/apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx b/apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx index 59db4e4ab9..47d6a43ced 100644 --- a/apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx +++ b/apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx @@ -6,8 +6,9 @@ authors: - "Aidan McAlister" metaTitle: "Vibe Coding an E-commerce App with Prisma MCP and Next.js" metaDescription: "Learn how we used Prisma MCP and Next.js to rapidly build an e-commerce app through vibe coding." -heroImagePath: "/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero-11982eebff8afea06f840a2c8b8b974a6681cbc5-844x474.svg" -heroImageAlt: "Vibe Coding an E-commerce App with Prisma MCP and Next.js" +metaImagePath: "/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png" +heroImagePath: "/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg" +heroImageAlt: "An ink code card of the AI-generated Prisma schema from the article, with the Product model's one-to-many category relation highlighted." tags: - "education" --- diff --git a/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx b/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx index 9648472c00..7e64e1c55a 100644 --- a/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx +++ b/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx @@ -6,9 +6,9 @@ authors: - "Daniel Norman" metaTitle: "Improving the Prisma VS Code Extension with WebAssembly" metaDescription: "Learn about the Prisma schema and how we improved reliability and simplified the Prisma Visual Studio Extension with Rust and WebAssembly." -metaImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/meta-494b96fe117ed31d3b18fd98f4bfde023db89522-1801x941.png" -heroImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/hero-aa75a645380cd5b1759ad90ed111c2889eb1d5a8-870x454.png" -heroImageAlt: "Improving the Prisma Visual Studio Code Extension with WebAssembly" +metaImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/meta.png" +heroImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/hero.svg" +heroImageAlt: "A grey numeral 22 labelled “compilation targets” with an arrow pointing to a large black numeral 1 labelled “Wasm module”, lit by a soft cyan glow." tags: - "announcement" --- diff --git a/apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx b/apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx index 117d205ecb..33267b7a2f 100644 --- a/apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx +++ b/apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx @@ -6,9 +6,9 @@ authors: - "Etel Sverdlov" metaTitle: "Watch recordings of the talks from Prisma Day 2019 | Prisma" metaDescription: "Watch the Prisma Day 2019 talks and explore videos and photos from Prisma's conference on databases and modern app development." -metaImagePath: "/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta-fea8ecef646b6bf26d0612835a9125136d5d1b90-1200x630.png" -heroImagePath: "/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero-e1f0832d806403801afbd482ec812d046bfcf8a5-870x457.png" -heroImageAlt: "Prisma Day videos available" +metaImagePath: "/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png" +heroImagePath: "/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg" +heroImageAlt: "A large numeral 13 on light paper beside the words “talks, now online” and the line “Berlin · June 19, 2019”." --- Prisma Day was Prisma's one day, single-track conference in Berlin on databases and modern app development. Today we are excited to share all of the videos and photos from the event! diff --git a/apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx b/apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx index f0f5417a44..436e84a5d9 100644 --- a/apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx +++ b/apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx @@ -6,9 +6,9 @@ authors: - "Ryan Chenkie" metaTitle: "We Made Prisma Studio Even Better" metaDescription: "Prisma Studio has just received some great new UX/DX upgrades and is now available in the Prisma Console. Read to find out how you can be more productive in Prisma Studio!" -metaImagePath: "/we-made-prisma-studio-even-better/imgs/meta-d6de7a02e965c619c2490a14a32f8aa97b8cc43b-1266x711.png" -heroImagePath: "/we-made-prisma-studio-even-better/imgs/hero-1d76f11db26fa90ab318e6eaac176951f309e904-844x474.svg" -heroImageAlt: "Better DX in Prisma Studio" +metaImagePath: "/we-made-prisma-studio-even-better/imgs/meta.png" +heroImagePath: "/we-made-prisma-studio-even-better/imgs/hero.svg" +heroImageAlt: "An abstracted data table with one row picked out in cyan, and a taller record panel sliding in over it from the right." --- Prisma Studio is used and loved by thousands of developers but it hasn’t changed much since its initial release. We’ve just launched some great new DX improvements to Prisma Studio and it’s now fully available within the Prisma Data Platform. diff --git a/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx b/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx index c068eb50b4..5e03b2cd1d 100644 --- a/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx +++ b/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "What's new in Prisma? (Q1/2021)" metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from January to March 2021." -metaImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero-d9d93ef80b0722fa2c50737272fd764619c66972-1692x852.png" -heroImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero-d9d93ef80b0722fa2c50737272fd764619c66972-1692x852.png" -heroImageAlt: "What's new in Prisma? (Q1/21)" +metaImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png" +heroImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg" +heroImageAlt: "The word Migrate set very large in ink on light paper, underscored by a full-width spectral rule and the note that Prisma Migrate is generally available." tags: - "announcement" --- diff --git a/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx b/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx index e7206cf005..152d38123a 100644 --- a/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx +++ b/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx @@ -6,9 +6,9 @@ authors: - "Mahmoud Abdelwahab" metaTitle: "What's new in Prisma? (Q2/2021)" metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from April to June 2021." -metaImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta-63928bca38d21b517118716dd18909da219644be-1692x852.png" -heroImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero-05546705b2ebe131d6a20b897c7bcb5616a60495-844x474.svg" -heroImageAlt: "What's new in Prisma? (Q2/21)" +metaImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png" +heroImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg" +heroImageAlt: "A white release panel on paper listing what Prisma shipped in Q2 2021: Data Browser in Early Access, referential actions in Preview, prisma db push generally available (highlighted in yellow), and JSON filtering in Preview." tags: - "announcement" --- diff --git a/apps/blog/content/blog/why-prisma-2024/index.mdx b/apps/blog/content/blog/why-prisma-2024/index.mdx index 6f37c6dbda..4fbe7f99ff 100644 --- a/apps/blog/content/blog/why-prisma-2024/index.mdx +++ b/apps/blog/content/blog/why-prisma-2024/index.mdx @@ -7,9 +7,9 @@ authors: - "Marc Hess" metaTitle: "Why Use Prisma to Build Your Data Layer in 2024?" metaDescription: "Discover how Prisma's powerful tools help you build a scalable, secure, and high-performing data layer. From the popular TypeScript and Node.js ORM to advanced features like connection pooling, caching, and query optimization, Prisma equips you to scale your app to millions of users." -metaImagePath: "/why-prisma-2024/imgs/meta-c9f26242397df35ac3957bac087e408f3b68ebf3-1200x630.png" -heroImagePath: "/why-prisma-2024/imgs/hero-a1ecc2ab21f5c90ec0fcaefa8b6edcb76568bd2f-844x474.svg" -heroImageAlt: "Why Use Prisma to Build Your Data Layer in 2024?" +metaImagePath: "/why-prisma-2024/imgs/meta.png" +heroImagePath: "/why-prisma-2024/imgs/hero.svg" +heroImageAlt: "The words Beyond the ORM set large on paper, with ORM filled by the Prisma spectrum gradient, beside a short list of Accelerate, Optimize and Studio." tags: - "orm" - "platform" diff --git a/apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx b/apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx index 71587e4854..acb9bcf608 100644 --- a/apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx +++ b/apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx @@ -7,9 +7,9 @@ authors: - "Ankur Datta" metaTitle: "Why Prisma ORM Checks Types Faster Than Drizzle" metaDescription: "Discover why Prisma ORM outperforms Drizzle ORM in TypeScript type checking. Our benchmarks show Prisma checks queries 72% faster on average, thanks to code generation that keeps editors snappy and CI runs smooth." -metaImagePath: "/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta-08ce54c475608dac96f99cf51d330a6c724b8415-1266x711.png" -heroImagePath: "/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero-2a6e0cf3a5949295b175404698d43c7ce6539dcc-844x474.svg" -heroImageAlt: "Graphic with the headline 'Prisma checks query types faster than Drizzle.' A comparison table shows Prisma with 428 type instantiations versus Drizzle with 41,150, a difference of +9514%. Check time is listed as 101ms for Prisma and 219ms for Drizzle, a difference of +117%. The design includes an upward arrow line graph in the background, emphasizing performance gains." +metaImagePath: "/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png" +heroImagePath: "/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg" +heroImageAlt: "A comparison card on a light background showing type instantiations of 428 for Prisma ORM against 41,150 for Drizzle ORM and check time of 205 ms against 602 ms, with the Prisma ORM column tinted cyan." tags: - "education" - "orm" diff --git a/apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx b/apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx index 569f5232e6..b8582cced1 100644 --- a/apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx +++ b/apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx @@ -8,8 +8,9 @@ authors: - "Will Madden" metaTitle: "Where Prisma ORM Generates Client Code (and Why)" metaDescription: "Prisma ORM v7 generates Prisma Client into your project source via the prisma-client generator and a required output path. Learn why earlier versions used node_modules, what changed, and how to migrate." -metaImagePath: "/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta-3524d5ed551401d4e4299f6573888377675d62c9-1266x711.png" -heroImagePath: "/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero-790371627d3721ca4217827e0f291f31d7345fa4-844x474.svg" +metaImagePath: "/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png" +heroImagePath: "/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg" +heroImageAlt: "Two path rows on a light background: node_modules/.prisma/client struck through and labelled “before v7”, above a cyan-outlined row reading src/generated/prisma labelled “Prisma ORM v7”." tags: - "orm" - "education" diff --git a/apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx b/apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx index 8224c7a479..351b7cfd6e 100644 --- a/apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx +++ b/apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx @@ -6,9 +6,9 @@ authors: - "Marc Hess" metaTitle: "Why SiteGPT Chose Prisma Postgres for Scalable AI-Powered Chatbots" metaDescription: "Learn why SiteGPT migrated from their previous database to Prisma Postgres. Discover how transparent pricing, zero server management, and seamless ORM integration provided the simplicity and confidence they needed to build and scale." -metaImagePath: "/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta-891a52655ec10ed0229b3c3bf715dcd1d96e56c6-1266x711.png" -heroImagePath: "/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero-2181220b1ae360c736c90ddb97f4e218d9c29d7b-844x474.svg" -heroImageAlt: "A blog post banner with a dark background and teal text that reads, \"Prisma Postgres: How SiteGPT Scaled to Millions of Operations\". To the right, a glowing chatbot icon branches out into multiple conversation threads, symbolizing scale." +metaImagePath: "/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png" +heroImagePath: "/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg" +heroImageAlt: "The figure 10M+ set very large in black on a light background with a soft yellow glow, captioned database operations a day." --- SiteGPT helps businesses create AI-powered chatbots trained on their own content, websites, documentation, or internal data. These chatbots act as the first line of support for customers, handling requests with contextual accuracy. diff --git a/apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx b/apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx index 47892ca29c..9266d71707 100644 --- a/apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx +++ b/apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx @@ -6,8 +6,9 @@ authors: - "Will Madden" metaTitle: "Why the Prisma CLI Asks for Your Feedback" metaDescription: "To capture the voice of our community we’ve started prompting for feedback directly in the CLI—an unconventional choice that deserves a short explanation." -metaImagePath: "/why-the-prisma-cli-asks-for-your-feedback/imgs/meta-276249e7efd9d25f732dfedf5f3cd739d8ed696b-1266x711.png" -heroImagePath: "/why-the-prisma-cli-asks-for-your-feedback/imgs/hero-b14ae5c0100b00da2e109d1b583bd2a2fee55a09-844x474.svg" +metaImagePath: "/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png" +heroImagePath: "/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg" +heroImageAlt: "An ink terminal card showing the Prisma CLI survey prompt asking how likely you are to recommend Prisma, with a cyan input caret and a note that pressing Enter skips it." tags: - "orm" --- diff --git a/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx b/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx index 924b306e5a..54ca8e9118 100644 --- a/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx +++ b/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "What's new in Prisma? (Q1/22)" metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from January to March 2022." -metaImagePath: "/wnip-q1-dsk0golh8v/imgs/meta-e22bcc2581574927cdd406404700fda3e9efb665-1692x852.png" -heroImagePath: "/wnip-q1-dsk0golh8v/imgs/hero-ca96e8f08146b21676bd4faa9978dc1a2cd9a2c5-870x438.png" -heroImageAlt: "What's new in Prisma? (Q1/22)" +metaImagePath: "/wnip-q1-dsk0golh8v/imgs/meta.png" +heroImagePath: "/wnip-q1-dsk0golh8v/imgs/hero.svg" +heroImageAlt: "A release panel listing the MongoDB connector as generally available, highlighted in cyan, above CockroachDB and MySQL full-text search in Preview." tags: - "announcement" --- diff --git a/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx b/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx index ade82fb5b6..2f810b5008 100644 --- a/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx +++ b/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx @@ -6,9 +6,9 @@ authors: - "Alex Ruheni" metaTitle: "What's new in Prisma? (Q2/22)" metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from April to July 2022." -metaImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/meta-299642e5f461a1e5ef5ef3b5171f8b36dec08ae9-1692x852.png" -heroImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/hero-fa9e8efd5bfc7d38784f178886df9098cfd402e9-870x438.png" -heroImageAlt: "What's new in Prisma? (Q2/22)" +metaImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png" +heroImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg" +heroImageAlt: "\"Q2 2022\" set large in dark type on light paper, above a cyan rule and the line \"Promoted to General Availability\" followed by Indexes, JSON filtering, Raw queries and CockroachDB." tags: - "announcement" --- diff --git a/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx b/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx index d4f006f42a..fe1e8a0d5e 100644 --- a/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx +++ b/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx @@ -6,9 +6,9 @@ authors: - "Mahmoud Abdelwahab" metaTitle: "What's new in Prisma? (Q3/2021)" metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from July to September 2021.'" -metaImagePath: "/wnip-q3-hpk7pyth8v/imgs/hero-0bf3438608c28b9ef3150de53f989a640c833311-1692x852.png" -heroImagePath: "/wnip-q3-hpk7pyth8v/imgs/hero-0bf3438608c28b9ef3150de53f989a640c833311-1692x852.png" -heroImageAlt: "What's new in Prisma? (Q3/21)" +metaImagePath: "/wnip-q3-hpk7pyth8v/imgs/meta.png" +heroImagePath: "/wnip-q3-hpk7pyth8v/imgs/hero.svg" +heroImageAlt: "A release ledger card listing four Prisma features from Q3 2021 with their stage: the MongoDB connector highlighted in cyan as Preview, Interactive transactions in Preview, and Microsoft SQL Server and Referential actions generally available." tags: - "announcement" --- diff --git a/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx b/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx index bc248cc7a3..7c8180e2a2 100644 --- a/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx +++ b/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx @@ -6,9 +6,9 @@ authors: - "Sonia Lomo" metaTitle: "What's new in Prisma? (Q4/22)" metaDescription: "Here’s all you need to know about the Prisma ecosystem and community from August to December 2022." -metaImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/hero-2a1d85280674d8ee68aa0122190539f17f9774fd-2230x1124.png" -heroImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/hero-2a1d85280674d8ee68aa0122190539f17f9774fd-2230x1124.png" -heroImageAlt: "What's new in Prisma? (Q4/22)" +metaImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/meta.png" +heroImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg" +heroImageAlt: "A giant Sora “Q4/22” set on light paper, the “/22” in deep cyan, above the line “Interactive transactions and relation mode reach GA”." tags: - "announcement" --- diff --git a/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx b/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx index 76a88c375b..34059332da 100644 --- a/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx +++ b/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx @@ -6,9 +6,9 @@ authors: - "Nikolas Burk" metaTitle: "What's new in Prisma? (Q4/2021)" metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from October to December 2021" -metaImagePath: "/wnip-q4-dsk0golh8v/imgs/meta-ff86a30923498fa56a5cbddf6750801a5cc9eda2-1692x852.png" -heroImagePath: "/wnip-q4-dsk0golh8v/imgs/hero-a3f37c182ad811688a9551cfdf4a3ded6e129c85-844x474.svg" -heroImageAlt: "What's new in Prisma? (Q4/21)" +metaImagePath: "/wnip-q4-dsk0golh8v/imgs/meta.png" +heroImagePath: "/wnip-q4-dsk0golh8v/imgs/hero.svg" +heroImageAlt: "A large Q4 numeral over a spectrum rule beside a ledger of the quarter's releases: MongoDB connector in preview, SQL Server and Azure SQL generally available, interactive transactions in preview." tags: - "announcement" --- diff --git a/apps/blog/content/blog/working-with-data-in-large-teams/index.mdx b/apps/blog/content/blog/working-with-data-in-large-teams/index.mdx index 9ba01640d9..af2fc8234e 100644 --- a/apps/blog/content/blog/working-with-data-in-large-teams/index.mdx +++ b/apps/blog/content/blog/working-with-data-in-large-teams/index.mdx @@ -6,9 +6,9 @@ authors: - "Ankur Datta" metaTitle: "Working With Data in Large Teams" metaDescription: "Scale your data workflows without slowing down your team. This guide helps engineering leads adopt CI for database changes, define clear ownership, and balance velocity with safety using proven patterns like expand-contract and schema validation." -metaImagePath: "/working-with-data-in-large-teams/imgs/meta-22576a7f1d6f518c9a4f0c317c5952374add63e6-1266x711.png" -heroImagePath: "/working-with-data-in-large-teams/imgs/hero-3d53c303fc2f5c1cb3e19f10a0f6522f093d6291-844x474.svg" -heroImageAlt: "Illustration showing a large team of diverse people collaborating on a shared data dashboard. Individuals are interacting with charts, tables, and code snippets displayed on floating UI panels. The environment suggests an organized, collaborative workspace with digital tools and version control systems. Arrows and icons represent data flows, edits, and teamwork across roles like engineers, analysts, and product managers." +metaImagePath: "/working-with-data-in-large-teams/imgs/meta.png" +heroImagePath: "/working-with-data-in-large-teams/imgs/hero.svg" +heroImageAlt: "A customer table card split into an Expand step that adds firstName and lastName and a Contract step where the old name column is struck through." --- When multiple teams share a database, things break. Migrations conflict, queries start to bloat, or ownership gets murky. diff --git a/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg b/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg new file mode 100644 index 0000000000..0b7ae26252 --- /dev/null +++ b/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg @@ -0,0 +1,82 @@ + + About MCP Servers & How We Built One for Prisma + A flow diagram: Cursor, Windsurf and Claude connect to a single prisma mcp server, which runs Prisma CLI commands such as migrate dev and init --db. + + + + + + + + + + + + + + + + + + + + + + + + + + Model Context Protocol + + + + + Cursor + + Windsurf + + Claude + + + + + + + prisma mcp + MCP server + + + + + + Prisma CLI + migrate dev + init --db + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png b/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png new file mode 100644 index 0000000000..5afafb3c31 Binary files /dev/null and b/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png differ diff --git a/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg b/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg new file mode 100644 index 0000000000..0d68ef60b6 --- /dev/null +++ b/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg @@ -0,0 +1,59 @@ + + Prisma Accelerate now in General Availability + MetricComponent — Prisma Accelerate's 280+ global edge cache locations as the hero number, with its 16 connection pooling regions beneath. + + + + + + + + + + + + + + + + + + + + + + Prisma Accelerate + + + + 280+ + cache locations worldwide + 16 connection pooling regions + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png b/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png new file mode 100644 index 0000000000..346e829b6a Binary files /dev/null and b/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png differ diff --git a/apps/blog/public/accelerate-ipv6-first/imgs/hero.svg b/apps/blog/public/accelerate-ipv6-first/imgs/hero.svg new file mode 100644 index 0000000000..3c06f395a6 --- /dev/null +++ b/apps/blog/public/accelerate-ipv6-first/imgs/hero.svg @@ -0,0 +1,65 @@ + + We Transitioned Prisma Accelerate to IPv6 Without Anyone Noticing + The figure $3.60 set in large type above the line "per public IPv4 address, per month" — the AWS charge, announced in July 2023, that pushed Prisma Accelerate's thousands of EC2 instances to an IPv6-first architecture. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + IPv6 migration + + + + $3.60 + + per public IPv4 address, per month + on thousands of Prisma Accelerate EC2 instances + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/accelerate-ipv6-first/imgs/meta.png b/apps/blog/public/accelerate-ipv6-first/imgs/meta.png new file mode 100644 index 0000000000..0db776efd3 Binary files /dev/null and b/apps/blog/public/accelerate-ipv6-first/imgs/meta.png differ diff --git a/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/hero.svg b/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/hero.svg new file mode 100644 index 0000000000..b7fde265cd --- /dev/null +++ b/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/hero.svg @@ -0,0 +1,79 @@ + + Accelerate in Preview: Global Database Cache & Scalable Connection Pool + ArchitectureFlow — a serverless app routed through Accelerate's global cache (300 locations) and connection pool (16 regions) to the database. + + + + + + + + + + + + + + + + + + + + + + + Accelerate in Preview + + + + + + Your app + + + + + + + + Global cache + 300 locations + + Connection pool + 16 regions + + + + + + + Your database + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/meta.png b/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/meta.png new file mode 100644 index 0000000000..6a3f82b5a8 Binary files /dev/null and b/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/meta.png differ diff --git a/apps/blog/public/accelerate-static-ip-support/imgs/hero.svg b/apps/blog/public/accelerate-static-ip-support/imgs/hero.svg new file mode 100644 index 0000000000..9dc022a2d9 --- /dev/null +++ b/apps/blog/public/accelerate-static-ip-support/imgs/hero.svg @@ -0,0 +1,70 @@ + + Increase Database Security With Static IP Support in Prisma Accelerate + ComparisonTable — dynamic versus static IP across address, firewall allowlist and database access, with the static column highlighted. + + + + + + + + + + + + + + + + + + + + Static IP in Prisma Accelerate + + + + + + Dynamic IP + Static IP + + Address + Changes unpredictably + Always the same + + Firewall allowlist + Not possible + Supported + + Database access + Open to the internet + Trusted IPs only + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/accelerate-static-ip-support/imgs/meta.png b/apps/blog/public/accelerate-static-ip-support/imgs/meta.png new file mode 100644 index 0000000000..7fcbf29adf Binary files /dev/null and b/apps/blog/public/accelerate-static-ip-support/imgs/meta.png differ diff --git a/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg b/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg new file mode 100644 index 0000000000..be8c9c46fc --- /dev/null +++ b/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg @@ -0,0 +1,74 @@ + + Advanced Database Schema Management with Atlas & Prisma ORM + ArchitectureFlow — the Prisma schema and a hand-written SQL file both feed atlas migrate diff, which writes the versioned migration directory. + + + + + + + + + + + + + + + + Schema management with Atlas + + + + Prisma models, Atlas migrations + + + + + prisma/schema.prisma + + + published_posts_index.sql + + + + + + + + atlas migrate diff + composite schema + + + + + + atlas/migrations + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png b/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png new file mode 100644 index 0000000000..4ea064909f Binary files /dev/null and b/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png differ diff --git a/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg b/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg new file mode 100644 index 0000000000..f5ae3e7900 --- /dev/null +++ b/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg @@ -0,0 +1,78 @@ + + All you need to know about Apollo Client 2 + ComparisonTable — the single react-apollo dependency of Apollo Client 1.x beside the four packages a 2.0 setup imports. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL + + + + + Apollo Client 1.x + react-apollo + + + + + + + Apollo Client 2.0 + react-apollo + apollo-client + apollo-link-http + apollo-cache-inmemory + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png b/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png new file mode 100644 index 0000000000..56320351f2 Binary files /dev/null and b/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png differ diff --git a/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg b/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg new file mode 100644 index 0000000000..3f9951533d --- /dev/null +++ b/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg @@ -0,0 +1,54 @@ + + Prisma Ambassador Program — Building A Community of Experts + The word Ambassadors set large in Sora on paper, underlined by the Prisma spectrum gradient, above the line: open to Prisma community contributors. + + + + + + + + + + + + + + + + + + Community program + + + + Ambassadors + + Open to Prisma community contributors + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/meta.png b/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/meta.png new file mode 100644 index 0000000000..05879b6da3 Binary files /dev/null and b/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/meta.png differ diff --git a/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg b/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg new file mode 100644 index 0000000000..b113894350 --- /dev/null +++ b/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg @@ -0,0 +1,65 @@ + + How Prisma helps Amplication evolutionize backend development + Editorial pull quote from Amplication CEO Yuval Hazaz, with the open-source stack Amplication ships inside every generated app. + + + + + + + + + + + + + + + + + + + + + + + + + + + Customer story + + + + + “Prisma was areally good bet” + + Yuval Hazaz, CEO at Amplication + In every generated app: NestJS · Prisma · PostgreSQL · GraphQL + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png b/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png new file mode 100644 index 0000000000..3ed78d23fe Binary files /dev/null and b/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png differ diff --git a/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg b/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg new file mode 100644 index 0000000000..08cd368bb4 --- /dev/null +++ b/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg @@ -0,0 +1,64 @@ + + Introducing Accelerate in Early Access + A typographic cover: the figure "1000×" set very large in ink with the multiplication sign in prism cyan, read as "Up to 1000× faster queries, latency as low as 5 ms", over a spectral wash pooling in the bottom-right corner. + + + + + + + + + + + + + + + + + + + + + + + + + + + Accelerate in Early Access + + + + Up to + 1000× + faster queries · latency as low as 5 ms + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png b/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png new file mode 100644 index 0000000000..1af7f971e3 Binary files /dev/null and b/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png differ diff --git a/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg b/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg new file mode 100644 index 0000000000..19916d7205 --- /dev/null +++ b/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg @@ -0,0 +1,67 @@ + + Building on an Established Community: Prisma Now on Discord + Two chat bubbles side by side: the Prisma Slack community with over 50,000 members, and the community-built Discord server Prisma has officially adopted. + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma community + + + + + Slack + 50,000+ members + + + Discord + community-built, now official + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/meta.png b/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/meta.png new file mode 100644 index 0000000000..4405c1eea3 Binary files /dev/null and b/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/meta.png differ diff --git a/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg b/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg new file mode 100644 index 0000000000..c55a88113b --- /dev/null +++ b/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg @@ -0,0 +1,74 @@ + + Announcing On-Demand Cache Invalidation for Prisma Accelerate + A two-row comparison card on light paper: a cached query that expires on a ttl timer above, and the $accelerate.invalidate call that refreshes tagged results on demand highlighted in cyan below. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + Database caching + + + + + Refresh the cacheexactly when needed + + + + + + + ttl: 120 + expires on a timer + + + + + $accelerate.invalidate({ tags: ['posts'] }) + refreshes on demand + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png b/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png new file mode 100644 index 0000000000..b6a3ff869b Binary files /dev/null and b/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg b/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg new file mode 100644 index 0000000000..8adaebc9fa --- /dev/null +++ b/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg @@ -0,0 +1,66 @@ + + Prisma 2.0: Confidence and productivity for your database + TypeMark cover: a giant Sora numeral 2.0 whose zero is filled with the Prisma spectrum gradient, beside the line "Prisma Client is now generally available". + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + Prisma Client is now + generally available + + + + 2.0 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png b/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png new file mode 100644 index 0000000000..2ed03e1f2d Binary files /dev/null and b/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg b/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg new file mode 100644 index 0000000000..5aef6e9cae --- /dev/null +++ b/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg @@ -0,0 +1,70 @@ + + Prisma 2 Preview: Type-safe Database Access & Declarative Migrations + CodeWindow family — an ink code card showing the Photon relation query from the article, with the returned Post[] type highlighted in cyan. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma 2 Preview + + + + + src/script.ts + const posts: Post[] = await photon.users + .findOne({ where: { email: 'ada@prisma.io' } }) + .posts() + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/meta.png b/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/meta.png new file mode 100644 index 0000000000..77bda06ca4 Binary files /dev/null and b/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-6-18-0/imgs/hero.svg b/apps/blog/public/announcing-prisma-6-18-0/imgs/hero.svg new file mode 100644 index 0000000000..cdf419f46d --- /dev/null +++ b/apps/blog/public/announcing-prisma-6-18-0/imgs/hero.svg @@ -0,0 +1,80 @@ + + Prisma ORM 6.18.0, Postgres Database Metrics and Config Modernization + An ink code card on light paper showing the prisma.config.ts file from Prisma ORM 6.18.0, with the engine "classic" line highlighted in cyan, beside the headline "Config, not schema". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM 6.18.0 + + + + + Config,not schema + + + + + + prisma.config.ts + + + export default defineConfig({ + engine: "classic", + datasource: { + url: env("DATABASE_URL"), + }, + }) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-6-18-0/imgs/meta.png b/apps/blog/public/announcing-prisma-6-18-0/imgs/meta.png new file mode 100644 index 0000000000..4871e51f90 Binary files /dev/null and b/apps/blog/public/announcing-prisma-6-18-0/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-6-19-0/imgs/hero.svg b/apps/blog/public/announcing-prisma-6-19-0/imgs/hero.svg new file mode 100644 index 0000000000..e474cc2471 --- /dev/null +++ b/apps/blog/public/announcing-prisma-6-19-0/imgs/hero.svg @@ -0,0 +1,69 @@ + + Announcing Prisma 6.19.0 + A flow on light paper: an app connects through a connection pool card carrying the pool=true parameter, and a yellow beam carries the pooled connection on to Prisma Postgres. Prisma blog cover, 2026 brand, Postgres yellow accent. + + + + + + + + + + + + + + + + + + Prisma Postgres + + + + Pooled direct connections + + + + Your app + + + + + Connection pooling + + pool=true + + + + + Prisma Postgres + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-6-19-0/imgs/meta.png b/apps/blog/public/announcing-prisma-6-19-0/imgs/meta.png new file mode 100644 index 0000000000..1d9d12730d Binary files /dev/null and b/apps/blog/public/announcing-prisma-6-19-0/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg b/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg new file mode 100644 index 0000000000..888461b555 --- /dev/null +++ b/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg @@ -0,0 +1,68 @@ + + Announcing Prisma Day + An atmospheric coral mesh field on light paper with one small white card announcing Prisma Day on June 19, 2019 at the Pfefferberg Theatre in Berlin. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Community conference + + + + + Prisma Day + June 19, 2019 + Pfefferberg Theatre, Berlin + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/meta.png b/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/meta.png new file mode 100644 index 0000000000..e28fcc4bdb Binary files /dev/null and b/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/hero.svg b/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/hero.svg new file mode 100644 index 0000000000..89f9c75476 --- /dev/null +++ b/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/hero.svg @@ -0,0 +1,61 @@ + + Announcing Prisma 7 + A typographic cover on paper: a giant Sora 7 filled with the Prisma spectrum gradient, beside the two results of the Rust-free client from the release - 90% smaller bundle output and 3x faster query execution. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + Prisma ORM + + + + 7 + + + + 90% + smaller bundle output + + 3x + faster query execution + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/meta.png b/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/meta.png new file mode 100644 index 0000000000..e34213e654 Binary files /dev/null and b/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/hero.svg b/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/hero.svg new file mode 100644 index 0000000000..c56dc65d14 --- /dev/null +++ b/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/hero.svg @@ -0,0 +1,64 @@ + + Announcing Prisma ORM 7.2.0 + A typographic release cover on light paper: the numeral 7.2.0 set large in ink above a cyan rule and a one-line summary of the release — the --url flag is back, prisma init is runtime aware, and @db.Money is fixed. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + 7.2.0 + + --url is back · runtime-aware prisma init · @db.Money fixed + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/meta.png b/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/meta.png new file mode 100644 index 0000000000..d60cf353a7 Binary files /dev/null and b/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg b/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg new file mode 100644 index 0000000000..ab092acb6d --- /dev/null +++ b/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg @@ -0,0 +1,80 @@ + + Prisma Playground: An Interactive Learning Experience for Prisma + A dashed sandbox boundary holding the Playground's two tracks, Prisma Client queries and Prisma Migrate guides. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Playground + + + + + Run Prismain the browser + + + + + + Isolated sandbox + + + Prisma Client + send database queries + + + Prisma Migrate + interactive guides + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png b/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png new file mode 100644 index 0000000000..5eff476228 Binary files /dev/null and b/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-postgres-early-access/imgs/hero.svg b/apps/blog/public/announcing-prisma-postgres-early-access/imgs/hero.svg new file mode 100644 index 0000000000..4efc54b7ac --- /dev/null +++ b/apps/blog/public/announcing-prisma-postgres-early-access/imgs/hero.svg @@ -0,0 +1,73 @@ + + Prisma Postgres®: Building a Modern PostgreSQL Service Using Unikernels & MicroVMs + Three stacked bands describe the Prisma Postgres architecture: PostgreSQL on top, a yellow-accented unikernel band with a minimal specialized OS, and an ink band for the Firecracker microVM running on bare metal. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Postgres + + + + + PostgreSQL + the application + + + Unikernel · a minimal, specialized OS + the thinnest possible layer + + + Firecracker microVM on bare metal + hardware-level isolation + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-postgres-early-access/imgs/meta.png b/apps/blog/public/announcing-prisma-postgres-early-access/imgs/meta.png new file mode 100644 index 0000000000..6c19439277 Binary files /dev/null and b/apps/blog/public/announcing-prisma-postgres-early-access/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg b/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg new file mode 100644 index 0000000000..205c765b10 --- /dev/null +++ b/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg @@ -0,0 +1,86 @@ + + Announcing: Instant Prisma Postgres for AI Coding Agents + CodeWindow family — real article code as editorial typography. An ink code card showing the Prisma MCP server configuration from the post, with the npx prisma platform mcp arguments highlighted in prism yellow. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Postgres MCP server + + + + + + + "mcpServers": { + "Prisma": { + "command": "npx", + "args": ["-y", "prisma", "platform", "mcp", "--early-access"] + } + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png b/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png new file mode 100644 index 0000000000..7be9b02905 Binary files /dev/null and b/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png differ diff --git a/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg b/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg new file mode 100644 index 0000000000..58b680cab4 --- /dev/null +++ b/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg @@ -0,0 +1,72 @@ + + Announcing Prisma’s MCP Server: Vibe Code with Prisma Postgres + A soft mesh field on light paper with the prisma init --vibe command from the post set in a single small card, under the line that AI tools now provision the database. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma MCP server + + + + Your AI tool + provisions the database + Create Prisma Postgres instances, model the data, run migrations + + + + + npx prisma init --vibe "Cat meme generator" + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png b/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png new file mode 100644 index 0000000000..dfd710e930 Binary files /dev/null and b/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png differ diff --git a/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg b/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg new file mode 100644 index 0000000000..cf975bc679 --- /dev/null +++ b/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg @@ -0,0 +1,72 @@ + + Nexus 1.0: A Major Release for Type-Safe, Code-First GraphQL APIs + An ink code card on light paper showing the Nexus 1.0 objectType API, with the new explicit nonNull calls highlighted in cyan, beside the line "One file, one language". + + + + + + + + + + + + + + + + + + + + + + Nexus 1.0 + + + + + One file, + one language + + Schema and resolvers defined together, in TypeScript + + + + + const Post = objectType({ + name: 'Post', + definition(t) { + t.nonNull.id('id') + t.nonNull.string('title') + }, + }) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png b/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png new file mode 100644 index 0000000000..90e46bf68b Binary files /dev/null and b/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png differ diff --git a/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg b/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg new file mode 100644 index 0000000000..a3b7754f7f --- /dev/null +++ b/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg @@ -0,0 +1,65 @@ + + TypedSQL: Type-Safe Raw SQL Queries in Prisma ORM + CodeWindow cover: an ink code card tabbed with the file prisma/sql/conversionByVariant.sql, calling the generated query through $queryRawTyped, with the inferred TypeScript result type highlighted in cyan. + + + + + + + + + + + + + + + + + + + + + + TypedSQL + + + + + prisma/sql/conversionByVariant.sql + + + + + import { conversionByVariant } from './generated/prisma/sql' + const result = await prisma.$queryRawTyped(conversionByVariant()) + // result: { variant: string; conversion: number | null }[] + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png b/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png new file mode 100644 index 0000000000..eaac694f2d Binary files /dev/null and b/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png differ diff --git a/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg b/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg new file mode 100644 index 0000000000..599d329ea1 --- /dev/null +++ b/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg @@ -0,0 +1,71 @@ + + New Course: Fullstack App Using Next.js, GraphQL, TypeScript & Prisma + Four stacked white plates on light paper naming the layers of the app built in the course - Next.js, GraphQL Yoga, Prisma and PostgreSQL - with the Prisma layer accented in cyan. + + + + + + + + + + + + + + + + + + + + + + New course + + + + + Next.js + React framework + + + GraphQL Yoga + GraphQL server + + + Prisma + ORM + + + PostgreSQL + database + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png b/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png new file mode 100644 index 0000000000..6dc19fe442 Binary files /dev/null and b/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png differ diff --git a/apps/blog/public/aws-marketplace/imgs/hero.svg b/apps/blog/public/aws-marketplace/imgs/hero.svg new file mode 100644 index 0000000000..b4038cac1c --- /dev/null +++ b/apps/blog/public/aws-marketplace/imgs/hero.svg @@ -0,0 +1,64 @@ + + Prisma Products Are Now Available on AWS Marketplace + A typographic cover on light paper reading "Now on your AWS invoice" above the line "Prisma products on AWS Marketplace", with a soft cyan mesh field pooling in the right half. + + + + + + + + + + + + + + + + + + + + + + + + + + + Announcement + + + + Now on your + AWS invoice + Prisma products on AWS Marketplace + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/aws-marketplace/imgs/meta.png b/apps/blog/public/aws-marketplace/imgs/meta.png new file mode 100644 index 0000000000..e5cecafa7b Binary files /dev/null and b/apps/blog/public/aws-marketplace/imgs/meta.png differ diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg new file mode 100644 index 0000000000..77036cfdb4 --- /dev/null +++ b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg @@ -0,0 +1,87 @@ + + Backend with TypeScript, PostgreSQL & Prisma: Authentication & Authorization + A three-step flow on light paper: POST /login takes the user's email, an 8-digit token expires in 10 minutes, and POST /authenticate exchanges it for a JWT valid for 12 hours, drawn as the highlighted card. + + + + + + + + + + + + + + + + + + + + + + Passwordless authentication + + + + + Two tokens, + no password + + + + + + + POST /login + the user's email + + + emailed + + + + + + 8-digit token + expires in 10 minutes + + + /authenticate + + + + + + JWT + valid for 12 hours + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png new file mode 100644 index 0000000000..ed42260439 Binary files /dev/null and b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png differ diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg new file mode 100644 index 0000000000..4d21a57d32 --- /dev/null +++ b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg @@ -0,0 +1,78 @@ + + Backend with TypeScript, PostgreSQL & Prisma: Data Modeling & CRUD + A relation diagram from the article's grading-system data model: the User and Course models on either side of a highlighted CourseEnrollment relation table holding the userId and courseId foreign keys, captioned "One m-n relation, two 1-n relations". + + + + + + + + + + + + + + + + + + + Data modeling + + + + + + + 1-n + + + + 1-n + + + + User + + + + Course + + + + CourseEnrollment + + userId User.id + courseId Course.id + + One m-n relation, two 1-n relations + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png new file mode 100644 index 0000000000..ed4ee6e585 Binary files /dev/null and b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png differ diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg new file mode 100644 index 0000000000..cebf5d6128 --- /dev/null +++ b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg @@ -0,0 +1,74 @@ + + Backend with TypeScript, PostgreSQL & Prisma: CI & Deployment + A flat three-stage pipeline on paper: git push, GitHub Actions running npm test, and Prisma Compute returning a live URL, with a red gradient beam on the deploy edge. + + + + + + + + + + + + + + + + + + Prisma Compute + + + + Every push, tested and deployed + + + + + git push + to main + + + + + + GitHub Actions + npm test + + + + + + Prisma Compute + live URL + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png new file mode 100644 index 0000000000..7982c59076 Binary files /dev/null and b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png differ diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg new file mode 100644 index 0000000000..e703cf9b7f --- /dev/null +++ b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg @@ -0,0 +1,70 @@ + + Backend with TypeScript, PostgreSQL & Prisma: REST, Validation & Tests + The tutorial's five User endpoints set in mono type, with the POST /users route highlighted in the Postgres accent and annotated as validated with Zod. Prisma blog cover, 2026 brand, yellow accent. + + + + + + + + + + + + + + + + + + + TypeScript backend, part 2 + + + + POST + /users + + validated with Zod + + GET + /users/{userId} + + PUT + /users/{userId} + + DELETE + /users/{userId} + + GET + /users + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png new file mode 100644 index 0000000000..c2fe3ea47d Binary files /dev/null and b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png differ diff --git a/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg b/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg new file mode 100644 index 0000000000..325146fc7a --- /dev/null +++ b/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg @@ -0,0 +1,69 @@ + + Database Caching: A Double-Edged Sword? Examining the Pros and Cons + ComparisonTable: two columns, what caching gains and what it costs, separated by a single spectral edge standing in for the double edge of the title. + + + + + + + + + + + + + + + + + + + + Database caching + + + + + + + What you gain + + + What you pay + + + Faster data retrieval + Reduced database load + Absorbs traffic spikes + Cache invalidation + Global synchronization + Cost and maintenance + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png b/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png new file mode 100644 index 0000000000..d8dd586eb4 Binary files /dev/null and b/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png differ diff --git a/apps/blog/public/bfg/imgs/hero.svg b/apps/blog/public/bfg/imgs/hero.svg new file mode 100644 index 0000000000..e71a8a3f8a --- /dev/null +++ b/apps/blog/public/bfg/imgs/hero.svg @@ -0,0 +1,59 @@ + + Introducing our Build, Fortify, Grow (BFG) Framework + A typographic cover on paper: the three phases of Prisma's Build, Fortify, Grow framework set as stacked Sora words, each annotated with the phase's promise, divided by a vertical spectrum rail that runs cyan to pink down the progression. + + + + + + + + + + + + + + + + + + Product framework + + + + + Build + Fortify + Grow + Streamline development + Consistent performance + Adapt as your app evolves + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/bfg/imgs/meta.png b/apps/blog/public/bfg/imgs/meta.png new file mode 100644 index 0000000000..0a81381199 Binary files /dev/null and b/apps/blog/public/bfg/imgs/meta.png differ diff --git a/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg b/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg new file mode 100644 index 0000000000..8e9d8d9a8c --- /dev/null +++ b/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg @@ -0,0 +1,66 @@ + + Bringing Prisma ORM to React Native and Expo + Typographic cover: the words "Reactive queries" set large in Sora over a spectral wash, with the real hook call prisma.transactions.useFindMany() beneath it and useFindMany picked out in cyan. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM for React Native and Expo + + + + + Reactive + queries + + prisma.transactions.useFindMany() + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png b/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png new file mode 100644 index 0000000000..ca7c751962 Binary files /dev/null and b/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png differ diff --git a/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg b/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg new file mode 100644 index 0000000000..c32a930f15 --- /dev/null +++ b/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg @@ -0,0 +1,72 @@ + + Build an App With Svelte and TypeScript + An ink code card showing the same Svelte script block twice: without lang="ts" the typed prop is an unexpected token, and with lang="ts" highlighted in prism red it compiles. + + + + + + + + + + + + + + + + + + + + + + Svelte + TypeScript + + + + One attribute opts you in + + + + + + <script> + export let name: string; // unexpected token + </script> + + + + <script lang="ts"> + export let name: string; + </script> + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png b/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png new file mode 100644 index 0000000000..aa58fc6123 Binary files /dev/null and b/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png differ diff --git a/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg b/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg new file mode 100644 index 0000000000..86417e7a82 --- /dev/null +++ b/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg @@ -0,0 +1,83 @@ + + Build Applications at the Edge with Prisma ORM & Cloudflare D1 (Preview) + A flat three-tile flow on light paper: a Cloudflare Worker passes through the PrismaD1 driver adapter, highlighted in cyan, into the D1 database bound as env.DB, with a cyan gradient beam on the adapter-to-database edge. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + Cloudflare D1 (Preview) + + + + Query D1 from a Worker + + + + + + + + + + Worker + Cloudflare + + PrismaD1 + driver adapter + + D1 + env.DB binding + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png b/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png new file mode 100644 index 0000000000..ca14861b4f Binary files /dev/null and b/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png differ diff --git a/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/hero.svg b/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/hero.svg new file mode 100644 index 0000000000..08d91a5bda --- /dev/null +++ b/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/hero.svg @@ -0,0 +1,65 @@ + + Speed and Savings: Caching Database Queries with Prisma + A freshness timeline for one cached query: a solid yellow band covering the ttl window of 5 minutes, then a fading band covering the stale-while-revalidate window of 2 more minutes, above the cacheStrategy option that configures them. + + + + + + + + + + + + + + + + + + + + + Query caching + + + + cacheStrategy: { ttl: 300, swr: 120 } + + + + + ttl · 5 min + served from cache as fresh + + swr · 2 min + served stale, revalidating + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/meta.png b/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/meta.png new file mode 100644 index 0000000000..a008983cf7 Binary files /dev/null and b/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/meta.png differ diff --git a/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg b/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg new file mode 100644 index 0000000000..e76440af37 --- /dev/null +++ b/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg @@ -0,0 +1,68 @@ + + Prisma Client Extensions Are Now Production Ready + A prism refraction on paper: a single $extends beam enters a white wedge and splits into four prism-colored rays landing on the four extension components — model, client, query and result. + + + + + + + + + + + + + + + + + + Client extensions, generally available + + + + $extends + + + + + + + + + + + model + client + query + result + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png b/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png new file mode 100644 index 0000000000..a22a9194b4 Binary files /dev/null and b/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png differ diff --git a/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg b/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg new file mode 100644 index 0000000000..06dfed591e --- /dev/null +++ b/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg @@ -0,0 +1,61 @@ + + Prisma Client Extensions: 15 Ways to Extend Prisma ORM + A giant numeral 15 beside the words extension patterns, with the prisma.$extends call set in mono type below. + + + + + + + + + + + + + + + + + + + + + + + Prisma Client extensions + + + + 15 + extension patterns + prisma.$extends(myExtension) + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png b/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png new file mode 100644 index 0000000000..57477d3b8a Binary files /dev/null and b/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png differ diff --git a/apps/blog/public/cloud-connectivity-report-2024/imgs/hero.svg b/apps/blog/public/cloud-connectivity-report-2024/imgs/hero.svg new file mode 100644 index 0000000000..b54ad51de7 --- /dev/null +++ b/apps/blog/public/cloud-connectivity-report-2024/imgs/hero.svg @@ -0,0 +1,88 @@ + + Prisma's Cloud Connectivity Report 2024 + HeroChart — p50 latency from AWS regions to their nearest Cloudflare PoP; ap-south-1 (Mumbai) is fastest at 10.9 ms while us-east-2 sits roughly three times higher. + + + + + + + + + + + + + + + + + + + + + + + + + + + Cloud Connectivity Report 2024 + + + + + ap-south-1 + Mumbai + + 10.9 ms + + + ap-southeast-1 + Singapore + + 12.3 ms + + + ap-southeast-2 + Sydney + + 15.8 ms + + + + + us-east-2 + Columbus + + ~3x higher + + p50 latency from an AWS region to its nearest Cloudflare PoP + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/cloud-connectivity-report-2024/imgs/meta.png b/apps/blog/public/cloud-connectivity-report-2024/imgs/meta.png new file mode 100644 index 0000000000..b74bb657e5 Binary files /dev/null and b/apps/blog/public/cloud-connectivity-report-2024/imgs/meta.png differ diff --git a/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg b/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg new file mode 100644 index 0000000000..4b3877734e --- /dev/null +++ b/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg @@ -0,0 +1,81 @@ + + Developer Experience Redefined: Prisma & Cloudflare Lead the Way to Data DX + ArchitectureFlow: an app's query travels to Prisma Accelerate's edge cache, built on Cloudflare CDN and Workers, and only reaches the database on a cache miss. + + + + + + + + + + + + + + + + + + + + + Prisma and Cloudflare + + + + Queries cached at the edge + Accelerate’s database cache is built on Cloudflare CDN and Workers + + + + + + Your app + + + + + + + + Accelerate edge cache + Cloudflare CDN and Workers + + + on a cache miss + + + + + + Your database + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/meta.png b/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/meta.png new file mode 100644 index 0000000000..7c19267f25 Binary files /dev/null and b/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/meta.png differ diff --git a/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg b/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg new file mode 100644 index 0000000000..74c2c658bd --- /dev/null +++ b/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg @@ -0,0 +1,84 @@ + + Cloudflare, Unikernels & Bare Metal: Life of a Prisma Postgres Query + Four connected tiles trace the path of a Prisma Postgres query: Prisma ORM, Cloudflare Workers for auth and cache, the connection pool that generates SQL, and the Prisma Postgres instance running as a unikernel on bare metal, which is highlighted in the Postgres yellow. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Postgres architecture + + + + + + + + + + Prisma ORM + the query + + + Cloudflare + auth and cache + + + Connection pool + generates SQL + + + Prisma Postgres + unikernel, bare metal + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png b/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png new file mode 100644 index 0000000000..7ee001473e Binary files /dev/null and b/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png differ diff --git a/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg b/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg new file mode 100644 index 0000000000..af12957aa6 --- /dev/null +++ b/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg @@ -0,0 +1,79 @@ + + Prisma Support for CockroachDB Is Production Ready + Three stacks of layered elliptical planes standing as a distributed cluster; the same plane in every stack is tinted cyan and joined by a thin cyan line — one online schema change landing on every node. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + + CockroachDB support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png b/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png new file mode 100644 index 0000000000..64859953ee Binary files /dev/null and b/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png differ diff --git a/apps/blog/public/compliance-reqs-complete/imgs/hero.svg b/apps/blog/public/compliance-reqs-complete/imgs/hero.svg new file mode 100644 index 0000000000..eaab57ac66 --- /dev/null +++ b/apps/blog/public/compliance-reqs-complete/imgs/hero.svg @@ -0,0 +1,66 @@ + + Achievement Unlocked: Compliance for SOC2 Type II, HIPAA, GDPR, and ISO27001 + A checked list of the four compliance standards Prisma completed: SOC 2 Type II, HIPAA, GDPR and ISO 27001:2022. + + + + + + + + + + + + + + + + + + + + + + + Compliance + + + + + SOC 2 Type II + + HIPAA + + GDPR + + ISO 27001:2022 + Processes and controls implemented across all four standards + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/compliance-reqs-complete/imgs/meta.png b/apps/blog/public/compliance-reqs-complete/imgs/meta.png new file mode 100644 index 0000000000..e4935c99f6 Binary files /dev/null and b/apps/blog/public/compliance-reqs-complete/imgs/meta.png differ diff --git a/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg b/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg new file mode 100644 index 0000000000..7b1f3c2cd9 --- /dev/null +++ b/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg @@ -0,0 +1,55 @@ + + Announcing: Prisma Postgres Integration for Vercel Marketplace + TypeMark: a large two-line statement — a database in your Vercel dashboard — on paper, lit by a single Prisma Postgres yellow glow rising from the lower right. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + Prisma Postgres + + + + + A database in your + Vercel dashboard + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png b/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png new file mode 100644 index 0000000000..0548dcdbf4 Binary files /dev/null and b/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png differ diff --git a/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg b/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg new file mode 100644 index 0000000000..6a834d121c --- /dev/null +++ b/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg @@ -0,0 +1,84 @@ + + Connections, Edges & Nodes in Relay + A relationship diagram on light paper: a movie node connects into a staircase of nested rounded bars labelled actors(first: 10), edges, node and name, with the innermost name bar in the accent color. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Relay connections + + + + + movie + + + actors(first: 10) + + + edges + + + node + + + name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png b/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png new file mode 100644 index 0000000000..3a8ea5ec18 Binary files /dev/null and b/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png differ diff --git a/apps/blog/public/convergence/imgs/hero.svg b/apps/blog/public/convergence/imgs/hero.svg new file mode 100644 index 0000000000..43897e3b21 --- /dev/null +++ b/apps/blog/public/convergence/imgs/hero.svg @@ -0,0 +1,85 @@ + + Plot Twist: We're All Building the Same ORM + A white comparison card mapping Prisma's relational query options to Drizzle's Relational API v2: include equals with, select equals columns, take equals limit, with cyan equals signs between the two columns. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ORM convergence + + + + + + + Prisma + Drizzle Relational API v2 + + + include + + + with + + select + + + columns + + take + + + limit + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/convergence/imgs/meta.png b/apps/blog/public/convergence/imgs/meta.png new file mode 100644 index 0000000000..5b08ff23f0 Binary files /dev/null and b/apps/blog/public/convergence/imgs/meta.png differ diff --git a/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/hero.svg b/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/hero.svg new file mode 100644 index 0000000000..0287701820 --- /dev/null +++ b/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/hero.svg @@ -0,0 +1,67 @@ + + Prisma Is Expanding Its Executive Team + A soft prism-red mesh field on light paper carrying a single line of type: Nitin Gupta joins Prisma as COO. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + Company news + + + + + Nitin Gupta joins + Prisma as COO + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/meta.png b/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/meta.png new file mode 100644 index 0000000000..3daf4f0858 Binary files /dev/null and b/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/meta.png differ diff --git a/apps/blog/public/data-platform-static-ips/imgs/hero.svg b/apps/blog/public/data-platform-static-ips/imgs/hero.svg new file mode 100644 index 0000000000..e71c53b61d --- /dev/null +++ b/apps/blog/public/data-platform-static-ips/imgs/hero.svg @@ -0,0 +1,99 @@ + + Enabling static egress IPs in the Prisma Data Platform + DatabaseObject: three fixed egress routes leave a Prisma Data Platform card and pass through the single gate in a dashed firewall allow-list boundary that encloses the customer database. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Static egress IPs + + + + + + + + Prisma Data Platform + + + + + + + + + + + + + + + + + + + + + + Firewall allow list + + + + Only known IPs + reach your database + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/data-platform-static-ips/imgs/meta.png b/apps/blog/public/data-platform-static-ips/imgs/meta.png new file mode 100644 index 0000000000..744ea4c5f6 Binary files /dev/null and b/apps/blog/public/data-platform-static-ips/imgs/meta.png differ diff --git a/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg b/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg new file mode 100644 index 0000000000..443f403632 --- /dev/null +++ b/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg @@ -0,0 +1,66 @@ + + Database Access in React Server Components + An ink code card lit by a cyan bloom showing the article's NoteList.server.js component querying the database directly with Prisma Client, beside the headline "Skip the API layer". Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + React Server Components + + + + Skip the API layer + + + + + + // NoteList.server.js + import { prisma } from './db.server' + const notes = prisma.note.findMany({ + where: { + title: { contains: searchText }, + }, + }) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png b/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png new file mode 100644 index 0000000000..f7bfa52ae1 Binary files /dev/null and b/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png differ diff --git a/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg b/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg new file mode 100644 index 0000000000..3d29c57640 --- /dev/null +++ b/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg @@ -0,0 +1,89 @@ + + Database access on the Edge with Next.js, Vercel & Prisma Accelerate + Seven request lines from stateless edge functions converge into a single Prisma Accelerate connection pool, which leaves as one pooled connection to a single PostgreSQL database drawn as a cylinder. + + + + + + + + + + + + + + + + + + + + Databases on the Edge + + + + + + + + + + + + + + + + + + + Edge functions + + + Prisma Accelerate + connection pool + + + + + + + + + + + + + + + PostgreSQL + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png b/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png new file mode 100644 index 0000000000..a13dba3dc2 Binary files /dev/null and b/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png differ diff --git a/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/hero.svg b/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/hero.svg new file mode 100644 index 0000000000..6440df468a --- /dev/null +++ b/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/hero.svg @@ -0,0 +1,79 @@ + + Database vs Application: Demystifying JOIN Strategies + A comparison table on paper listing the three join strategies covered in the article — naive DB-level joins, application-level joins and smart DB-level joins — against how much redundant data they return and how many database round trips they take. The smart DB-level row is tinted in prism cyan. + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + Three ways to join + + + + + + + Strategy + Redundant data + DB round trips + + + Naive DB-level JOIN + High + 1 + + Application-level joins + None + 1 per table + + Smart DB-level JOIN + None + 1 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/meta.png b/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/meta.png new file mode 100644 index 0000000000..ab7336fcb5 Binary files /dev/null and b/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/meta.png differ diff --git a/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg b/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg new file mode 100644 index 0000000000..0c1507d0e6 --- /dev/null +++ b/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg @@ -0,0 +1,62 @@ + + Key takeaways from the Discover Data DX virtual event + Editorial pull quote from the Discover Data DX event: Peter Pistorius of Snaplet on wanting to fix bugs, build features and ship, set large on light paper. + + + + + + + + + + + + + + + + + + + Virtual event recap + + + + + I just want to fix bugs, + build features, and ship. + + + + + Peter Pistorius, Snaplet + Panelist at Discover Data DX, December 7, 2023 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png b/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png new file mode 100644 index 0000000000..b5b9cdc267 Binary files /dev/null and b/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png differ diff --git a/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg b/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg new file mode 100644 index 0000000000..b9ec072605 --- /dev/null +++ b/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg @@ -0,0 +1,65 @@ + + Launching the Data DX Manifesto: Shaping a new paradigm in data-driven development + The term Data DX set large in ink, with the three 45-degree prism bands bleeding off the bottom-right corner. + + + + + + + + + + + + + + + + + + + + + + + + + + + Data developer experience + + + + Data DX + A manifesto for data-driven development + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/meta.png b/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/meta.png new file mode 100644 index 0000000000..d1b01d9f94 Binary files /dev/null and b/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/meta.png differ diff --git a/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/hero.svg b/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/hero.svg new file mode 100644 index 0000000000..ca21ee49a1 --- /dev/null +++ b/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/hero.svg @@ -0,0 +1,60 @@ + + Data DX: The name for Prisma’s developer experience philosophy + A no-copy graphic on paper: the Prisma lockup sits at the centre of concentric yellow rings spreading outward across the canvas — the Data DX philosophy starting inside Prisma and rippling out into an industry-wide category. + + + + + + + + + + + + + + + + + + + Data DX + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/meta.png b/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/meta.png new file mode 100644 index 0000000000..8765ceed80 Binary files /dev/null and b/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/meta.png differ diff --git a/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/hero.svg b/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/hero.svg new file mode 100644 index 0000000000..9bd26ac8ab --- /dev/null +++ b/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/hero.svg @@ -0,0 +1,73 @@ + + New Datamodel Syntax: More Schema Control & Simpler Migration + An ink code card showing the datamodel v1.1 syntax, with the @db directives that map the User model to a user table and the name field to a full_name column highlighted. + + + + + + + + + + + + + + + + + + + + + + + + + + Datamodel v1.1 + + + + + Your tables, + your names + + @db maps models to tables, fields to columns + + + + + type User @db(name: "user") { + id: ID! @id + name: String! @db(name: "full_name") + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/meta.png b/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/meta.png new file mode 100644 index 0000000000..7feeb84aaf Binary files /dev/null and b/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/meta.png differ diff --git a/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg b/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg new file mode 100644 index 0000000000..5c0345665f --- /dev/null +++ b/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg @@ -0,0 +1,75 @@ + + 5 Tools for Documenting Your Web API + An editorial index of the five documentation tools the article covers — Swagger, Postman, GraphQL, Protocol buffers and JSON Schema — each paired with the format it describes, under a yellow rule. + + + + + + + + + + + + + + + + + + + API documentation + + + + + + Swagger + OpenAPI specification + + + Postman + Published collections + + + GraphQL + Schema definition + + + Protocol buffers + gRPC interface definition + + + JSON Schema + JSON validation + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png b/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png new file mode 100644 index 0000000000..21587aeaba Binary files /dev/null and b/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png differ diff --git a/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg b/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg new file mode 100644 index 0000000000..b92aa0f07b --- /dev/null +++ b/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg @@ -0,0 +1,71 @@ + + End-To-End Type-Safety with GraphQL, Prisma & React: Frontend + An ink code card shows the src/types.ts file from the tutorial — the Message and User types — with the line "messages: Message[]" highlighted in cyan, and a spectral edge along the card's top. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + End-to-end type safety + + + + + + src/types.ts + + + + + export type Message = { + body: string + } + export type User = { + name: string + messages: Message[] + } + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png b/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png new file mode 100644 index 0000000000..56f294b87d Binary files /dev/null and b/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png differ diff --git a/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg b/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg new file mode 100644 index 0000000000..d99c186bc4 --- /dev/null +++ b/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg @@ -0,0 +1,72 @@ + + End-To-End Type-Safety with GraphQL, Prisma & React: API Prep + PrismObject: the Prisma schema enters a prism as one beam and leaves as three typed outputs — Prisma Client, GraphQL schema and frontend types — the source of truth for the shape of the data. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + End-to-end type safety + + + + + One source of truth + + + + + schema.prisma + + + + + + + + + + Prisma Client + GraphQL schema + frontend types + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png b/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png new file mode 100644 index 0000000000..10c74c1632 Binary files /dev/null and b/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png differ diff --git a/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg b/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg new file mode 100644 index 0000000000..f83312190c --- /dev/null +++ b/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg @@ -0,0 +1,77 @@ + + End-To-End Type-Safety with GraphQL, Prisma & React: GraphQL API + ComparisonTable — the Prisma User model's fields beside the GraphQL object type Pothos generates from them, with the messages relation highlighted. + + + + + + + + + + + + + + + + + + + + + + End-to-end type safety + + + + + + Prisma model + + GraphQL type + + + id + Int + id: ID! + + name + String + name: String! + + + + messages + Message[] + messages: [Message!]! + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png b/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png new file mode 100644 index 0000000000..a79aa70985 Binary files /dev/null and b/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png differ diff --git a/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg b/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg new file mode 100644 index 0000000000..9e5e7a3867 --- /dev/null +++ b/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg @@ -0,0 +1,90 @@ + + End-To-End Type-Safety with GraphQL, Prisma & React: Codegen & Deployment + A flat three-stage flow: a GraphQL schema URL and a glob of .graphql documents merge into the codegen command, which emits a single generated.ts types file highlighted in yellow. + + + + + + + + + + + + + + + + + + + + + + End-to-end type safety + + + + + + + + + + + + + + + schema + localhost:4000/graphql + + + + + + documents + src/**/*.graphql + + + + + + graphql-codegen + npm run codegen + + + + + + src/graphql + generated.ts + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png b/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png new file mode 100644 index 0000000000..3f3eba7e1d Binary files /dev/null and b/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png differ diff --git a/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg b/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg new file mode 100644 index 0000000000..56a231c7eb --- /dev/null +++ b/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg @@ -0,0 +1,61 @@ + + How Elsevier Piloted an Innovative Publication Process Quickly and Flexibly with Prisma + MetricComponent: the figure ten months set large in ink, labelled with the fact that a single tech lead built Elsevier's peer review MVP in that time, over a soft cyan mesh field. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + Customer story + + + + 10 months + One tech lead built Elsevier’s peer review MVP + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png b/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png new file mode 100644 index 0000000000..18827928d0 Binary files /dev/null and b/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png differ diff --git a/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg b/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg new file mode 100644 index 0000000000..9b87eb246b --- /dev/null +++ b/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg @@ -0,0 +1,71 @@ + + Enabling CORS for Express-GraphQL & Apollo Server + Two origin plates on light paper — a browser app on localhost:3000 and a GraphQL server on localhost:4000 — separated by a dashed origin boundary that opens where app.use(cors()) lets the request cross. + + + + + + + + + + + + + + + + + + + + + + Cross-origin requests + + + + + + + + + localhost:3000 + browser app + + app.use(cors()) + + + + + localhost:4000 + GraphQL server + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png b/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png new file mode 100644 index 0000000000..05f0c2047b Binary files /dev/null and b/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png differ diff --git a/apps/blog/public/esop-exercise-windows/imgs/hero.svg b/apps/blog/public/esop-exercise-windows/imgs/hero.svg new file mode 100644 index 0000000000..475f916876 --- /dev/null +++ b/apps/blog/public/esop-exercise-windows/imgs/hero.svg @@ -0,0 +1,63 @@ + + A Business Case for Extended ESOP Exercise Windows + Two exercise windows drawn on the same ten-year scale: the standard 90 days is a thin sliver, Prisma's window fills the full track. + + + + + + + + + + + + + + + + + + Employee equity + + + + Options you can actually exercise + + + + Standard exercise window after leaving · ~83% of companies (Carta, Q4 2022) + + + 90 days + + Prisma, since 2021 + + 10 years + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/esop-exercise-windows/imgs/meta.png b/apps/blog/public/esop-exercise-windows/imgs/meta.png new file mode 100644 index 0000000000..9b39fb43c7 Binary files /dev/null and b/apps/blog/public/esop-exercise-windows/imgs/meta.png differ diff --git a/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg b/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg new file mode 100644 index 0000000000..711d17dd60 --- /dev/null +++ b/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg @@ -0,0 +1,87 @@ + + Formbricks and Prisma Accelerate: Solving scalability together + A swarm of serverless function instances converges into a single Prisma Accelerate connection pool, which carries one pooled connection on to the database. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + Customer story + + + + Serverless functions + + + + + + + + + + + + + + + + + + + + + + Prisma Accelerate + Scalable connection pool + + + + + + Database + + + + A pool that scales + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png b/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png new file mode 100644 index 0000000000..922157583d Binary files /dev/null and b/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png differ diff --git a/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg b/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg new file mode 100644 index 0000000000..4702659ea2 --- /dev/null +++ b/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg @@ -0,0 +1,67 @@ + + From Rust to TypeScript: A New Chapter for Prisma ORM + MetricComponent — the Prisma ORM client bundle shrinks from about 14 MB with the Rust query engine to 1.6 MB with the TypeScript query compiler. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + + Rust query engine + ~14 MB + + + 1.6 MB + TypeScript query compiler, no native binary + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png b/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png new file mode 100644 index 0000000000..53284a135a Binary files /dev/null and b/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png differ diff --git a/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg b/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg new file mode 100644 index 0000000000..0860fd3467 --- /dev/null +++ b/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg @@ -0,0 +1,76 @@ + + Full Stack Type Safety with Angular, Nest, Nx, and Prisma + A flow diagram on paper: an ink card labelled @prisma/client with the generated Product type fans out along a cyan beam into two white tiles, the NestJS ProductsController and the Angular ProductService, showing one generated type shared across the Nx monorepo. + + + + + + + + + + + + + + + + + + + + + Type safety across an Nx monorepo + + + + + + @prisma/client + Product + + + + + + + + + + + + + + NestJS API + ProductsController + Angular UI + ProductService + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png b/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png new file mode 100644 index 0000000000..c06f2be2c4 Binary files /dev/null and b/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg new file mode 100644 index 0000000000..d43c6164ad --- /dev/null +++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg @@ -0,0 +1,68 @@ + + Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: GraphQL API + Two struck-through REST paths, /users and /favorites, sit above a large mono /api/graphql underlined in Postgres yellow, with the line "One request instead of a waterfall of REST calls" — the single Next.js API route that replaces them in part two of the fullstack course. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + Fullstack GraphQL API + + + + /users + + /favorites + + /api/graphql + + One request instead of a waterfall of REST calls + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png new file mode 100644 index 0000000000..eea81ddbec Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg new file mode 100644 index 0000000000..93b3e69b8c --- /dev/null +++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg @@ -0,0 +1,66 @@ + + Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Authentication + An ink code card showing the graphql/context.ts file where the Auth0 session is read and the user and access token are returned as the GraphQL context. + + + + + + + + + + + + + + + + + + + + Fullstack course, part 3 + + + + Secure the GraphQL API + + + + + graphql/context.ts + + const session = await getSession(req, res) + if (!session) return {} + + return { user, accessToken } + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png new file mode 100644 index 0000000000..fe21546dff Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg new file mode 100644 index 0000000000..e4edb0a601 --- /dev/null +++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg @@ -0,0 +1,91 @@ + + Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Image upload + A three-step flow: the admin.tsx upload form posts a file straight to an S3 bucket using a presigned POST from the /api/upload-image route, then the createLink mutation saves the resulting imageUrl. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Image upload + + + + + /api/upload-image + presigned POST + imageUrl + + + + + admin.tsx + upload form + + + S3 bucket + stores the image + + + createLink + saves it in Postgres + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png new file mode 100644 index 0000000000..0c92599121 Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg new file mode 100644 index 0000000000..4c436ade81 --- /dev/null +++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg @@ -0,0 +1,93 @@ + + Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Deployment + Three serverless function tiles fan into a single highlighted connection pool node, which forwards one connection to a PostgreSQL node labelled "connection limit" — the deployment chapter's argument for pooling in serverless environments. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + Connection pooling + + + + Serverless needs a + connection pool + + + + Serverless functions + + + + + + + + + + + + fn + + fn + + fn + + + + + Connection pool + Prisma Data Proxy + + + + + PostgreSQL + connection limit + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png new file mode 100644 index 0000000000..a720fa2a56 Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg new file mode 100644 index 0000000000..5eec233930 --- /dev/null +++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg @@ -0,0 +1,88 @@ + + Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Data Modeling + Two schema cards from the tutorial — a User model and a Link model — joined by a cyan many-to-many relation between the bookmarks and users fields. + + + + + + + + + + + + + + + + + + + + + + Data modeling + + + + + many-to-many + + + + + + + + User + + email + String? + role + Role + + bookmarks + Link[] + + + + + Link + + url + String + category + String + + users + User[] + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png new file mode 100644 index 0000000000..24e37a04d3 Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg new file mode 100644 index 0000000000..45657529ba --- /dev/null +++ b/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg @@ -0,0 +1,75 @@ + + Build A Fullstack App with Remix, Prisma & MongoDB: Project Setup + DatabaseObject — three stacked isometric planes naming the Kudos stack (Remix, Prisma, MongoDB Atlas), with the Prisma layer lit by a single cyan bloom. + + + + + + + + + + + + + + + + + + + + + Fullstack series, part 1 + + + + Building Kudos, + step one + + + + + + Remix + React framework + + + + Prisma + object document mapper + + + + MongoDB + Atlas cluster + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png new file mode 100644 index 0000000000..d17358adb5 Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg new file mode 100644 index 0000000000..cac2ada3d4 --- /dev/null +++ b/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg @@ -0,0 +1,80 @@ + + Build A Fullstack App with Remix, Prisma & MongoDB: Authentication + Flow of the article's session-based auth: sign in, validate, login(), a kudos-session cookie, then the home route, with a dashed error return to the form. + + + + + + + + + + + + + + + + + + + + + + + + + Session-based auth + + + + + Sign in + + Validate + + login() + + kudos-session + + Home route + + + + + + + + + + + error, back to the form + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png new file mode 100644 index 0000000000..bd1f5a5c9f Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg new file mode 100644 index 0000000000..f3efbfb1ee --- /dev/null +++ b/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg @@ -0,0 +1,72 @@ + + Build A Fullstack App with Remix, Prisma & MongoDB: CRUD, Filtering & Sorting + ArchitectureFlow lit by a single cyan bloom: the kudos feed relation — a User authors a Kudo document (message, createdAt, embedded style) that lands in another User's received kudos. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + Remix, Prisma & MongoDB + + + + + User + author + + authoredKudos + + + + + Kudo + message + createdAt + style + + kudos + + + + + User + recipient + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png new file mode 100644 index 0000000000..9488455098 Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg new file mode 100644 index 0000000000..50baf83846 --- /dev/null +++ b/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg @@ -0,0 +1,79 @@ + + Build A Fullstack App with Remix, Prisma & MongoDB: Referential Integrity & Image Uploads + A relation diagram: a deleted User record with three ghosted Kudo records fanning out from it, the edge labelled onDelete: Cascade. + + + + + + + + + + + + + + + + + + + + + + + + + + Referential integrity + + + + + + + + + + + + User + deleted + + + Kudo + + Kudo + + Kudo + + + onDelete: Cascade + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png new file mode 100644 index 0000000000..0489a002ae Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png differ diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg new file mode 100644 index 0000000000..536dfd35e2 --- /dev/null +++ b/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg @@ -0,0 +1,68 @@ + + Build A Fullstack App with Remix, Prisma & MongoDB: Deployment + ArchitectureFlow — the deployment path from a GitHub repo through a Vercel Remix project to a MongoDB database that must allow access from anywhere. + + + + + + + + + + + + + + + + + Deploying a fullstack Remix app + + + + + GitHub + project repo + + + + + + Vercel + Remix preset + + + + + + MongoDB + allow access from anywhere + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png new file mode 100644 index 0000000000..8287228979 Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png differ diff --git a/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg b/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg new file mode 100644 index 0000000000..7ef8d812eb --- /dev/null +++ b/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg @@ -0,0 +1,61 @@ + + Getting Started with Relay Modern + An ink code card holding the tutorial's GraphQL fragment Post_post on Post with the fields id, description and imageUrl, captioned to show that data dependencies live beside the component in Post.js. Prisma blog cover, 2026 brand, red accent. + + + + + + + + + + + + + + + + + + + GraphQL + + + + + fragment Post_post on Post { + id + description + imageUrl + } + Data dependencies live in Post.js + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png b/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png new file mode 100644 index 0000000000..a32f515843 Binary files /dev/null and b/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png differ diff --git a/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg b/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg new file mode 100644 index 0000000000..8a84470e28 --- /dev/null +++ b/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg @@ -0,0 +1,91 @@ + + GraphQL Directive Permissions — Authorization Made Easy + An ink code card showing the article's GraphQL type definition, with the @hasRole and @isAuthenticated permission directives picked out in red on the fields they protect. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL authorization + + + + Authorization in the schema + + + + schema.graphql + + type Vehicle { + id: ID! + askingPrice: Float + costBasis: Float @hasRole(role: "MANAGER") + numberOfOffers: Int @isAuthenticated + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png b/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png new file mode 100644 index 0000000000..8b2274d559 Binary files /dev/null and b/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png differ diff --git a/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/hero.svg b/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/hero.svg new file mode 100644 index 0000000000..39ad2f4c37 --- /dev/null +++ b/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/hero.svg @@ -0,0 +1,70 @@ + + GraphQL Europe 2018: The GraphQL community comes together in Berlin + Six company names from the conference line-up connected by hairlines to a red disc labelled Berlin. + + + + + + + + + + + + + + + + + + + + + GraphQL Europe 2018 + + + + + + + + + + + Berlin + Facebook + GitHub + Twitter + Docker + Apollo + Shopify + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/meta.png b/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/meta.png new file mode 100644 index 0000000000..598191d97b Binary files /dev/null and b/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/meta.png differ diff --git a/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/hero.svg b/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/hero.svg new file mode 100644 index 0000000000..59e67addbd --- /dev/null +++ b/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/hero.svg @@ -0,0 +1,70 @@ + + Open Sourcing GraphQL Middleware - Library to Simplify Your Resolvers + Nested layers: a logInput middleware wraps a logResult middleware, which wraps the resolver at the cyan-tinted core. + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL Middleware + + + + + + + logInput + + + logResult + + + resolver + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/meta.png b/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/meta.png new file mode 100644 index 0000000000..22bb295fb9 Binary files /dev/null and b/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/meta.png differ diff --git a/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg b/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg new file mode 100644 index 0000000000..17129bcb9f --- /dev/null +++ b/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg @@ -0,0 +1,80 @@ + + GraphQL Schema Stitching explained: Schema Delegation + Relationship diagram cover: the application schema's prismagraphql field delegating to the GitHub GraphQL API's repositoryOwner query through delegateToSchema. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL schema stitching + + + + + Application schema + + prismagraphql: Organization! + + + GitHub GraphQL API + + repositoryOwner + + delegateToSchema + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png b/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png new file mode 100644 index 0000000000..f3a9d9038e Binary files /dev/null and b/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png differ diff --git a/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg b/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg new file mode 100644 index 0000000000..b31702beb4 --- /dev/null +++ b/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg @@ -0,0 +1,71 @@ + + GraphQL SDL — Schema Definition Language + An ink code card holding a real GraphQL SDL type definition for Post, with the relation field highlighted, on paper with a prism wash along the right edge. + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL + + + + + + type Post { + id: String! + title: String! + publishedAt: DateTime! + likes: Int! @default(value: 0) + blog: Blog @relation(name: "Posts") + } + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png b/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png new file mode 100644 index 0000000000..3d2bd04c80 Binary files /dev/null and b/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png differ diff --git a/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg b/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg new file mode 100644 index 0000000000..45d54410c6 --- /dev/null +++ b/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg @@ -0,0 +1,69 @@ + + GraphQL Basics: Demystifying the `info` Argument in GraphQL Resolvers + The resolver signature (parent, args, context, info) set small on light paper above the word info at display size with a spectral edge beneath it, and the ten keys of GraphQLResolveInfo listed quietly down the right side. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + GraphQL resolvers + + + + (parent, args, context, info) + info + + The query AST and more execution information + + + + fieldName + fieldNodes + returnType + parentType + path + schema + fragments + rootValue + operation + variableValues + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png b/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png new file mode 100644 index 0000000000..a06079aea6 Binary files /dev/null and b/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png differ diff --git a/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg b/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg new file mode 100644 index 0000000000..8dfa54770b --- /dev/null +++ b/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg @@ -0,0 +1,79 @@ + + GraphQL Server Basics: The Network Layer + A three-row card lists the JavaScript GraphQL middleware libraries covered in the article, express-graphql, apollo-server and graphql-yoga, with the graphql-yoga row tinted in prism cyan, under the line "Middleware is the glue". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL server basics + + + + Middleware is the glue + + + + + + + + express-graphql + Facebook's GraphQL middleware + + apollo-server + Better compatibility outside Express + + + + graphql-yoga + The easiest way to build a GraphQL server + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png b/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png new file mode 100644 index 0000000000..d66b9f25a2 Binary files /dev/null and b/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png differ diff --git a/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg b/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg new file mode 100644 index 0000000000..941da1fb31 --- /dev/null +++ b/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg @@ -0,0 +1,72 @@ + + GraphQL Server Basics: GraphQL Schemas, TypeDefs & Resolvers Explained + An ink code card showing the article's GraphQL SDL schema — a Query root type with a user field, and a User type with id and name. A red dot marks each of the three fields, next to the headline "One resolver per field". + + + + + + + + + + + + + + + + + + + + + + GraphQL schemas + + + + One resolver + per field + + + + + + + + type Query { + user(id: ID!): User + } + type User { + id: ID! + name: String + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png b/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png new file mode 100644 index 0000000000..5bdf304e1b Binary files /dev/null and b/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png differ diff --git a/apps/blog/public/graphql-vs-firebase-496498546142/imgs/hero.svg b/apps/blog/public/graphql-vs-firebase-496498546142/imgs/hero.svg new file mode 100644 index 0000000000..8da6977fb4 --- /dev/null +++ b/apps/blog/public/graphql-vs-firebase-496498546142/imgs/hero.svg @@ -0,0 +1,64 @@ + + GraphQL vs Firebase + A typographic cover on paper: the headline "A type system, not a JSON tree" beside the article's GraphQL SDL data model for a Twitter-like app, set as a mono specimen against a prism-red gutter rule, with the relation field picked out in red. + + + + + + + + + + + + + + + + + + + GraphQL + + + + A type system, + not a JSON tree + + + + + type User { + id: ID! @unique + username: String! + tweets: [Tweet!]! + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/graphql-vs-firebase-496498546142/imgs/meta.png b/apps/blog/public/graphql-vs-firebase-496498546142/imgs/meta.png new file mode 100644 index 0000000000..1c70b707c3 Binary files /dev/null and b/apps/blog/public/graphql-vs-firebase-496498546142/imgs/meta.png differ diff --git a/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg b/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg new file mode 100644 index 0000000000..a2022d7911 --- /dev/null +++ b/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg @@ -0,0 +1,77 @@ + + How Grover Moves Faster with Prisma + A flat flow on light paper: three stack tiles — TypeScript (marked prisma, in cyan), Ruby and Python — converging into one node labelled Federated GraphQL API, Apollo Federation, the way Grover's independent teams ship 14 services. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + Customer story + + + + + 14 services,one federated API + + + + + + + + + + + + + TypeScript + prisma + + + Ruby + + + Python + + + Federated GraphQL API + Apollo Federation + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png b/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png new file mode 100644 index 0000000000..1d5381fbc3 Binary files /dev/null and b/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png differ diff --git a/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg b/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg new file mode 100644 index 0000000000..ef6b1c8e6b --- /dev/null +++ b/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg @@ -0,0 +1,86 @@ + + How Prisma Helps Rapha Manage Their Mobile Application Data + A flat flow: a PostgreSQL database on Amazon RDS through Prisma and its schema file to a GraphQL API served by Apollo Server, consumed by Rapha's iOS and Android apps. + + + + + + + + + + + + + + + + + + + + + + + + + + Customer story + + + + + PostgreSQL + Amazon RDS + + + + + + Prisma + schema.prisma + + + + + + GraphQL API + Apollo Server + + + + + + + + iOS + + Android + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png b/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png new file mode 100644 index 0000000000..122b579b35 Binary files /dev/null and b/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png differ diff --git a/apps/blog/public/how-bucket-uses-prisma-orm/imgs/hero.svg b/apps/blog/public/how-bucket-uses-prisma-orm/imgs/hero.svg new file mode 100644 index 0000000000..1e24cdb6ab --- /dev/null +++ b/apps/blog/public/how-bucket-uses-prisma-orm/imgs/hero.svg @@ -0,0 +1,81 @@ + + How Bucket Uses Prisma ORM to Make Shipping Feature Releases Faster + A three-step flow on light paper — define the models, run one migration, tables ready — describing how Bucket added the tables for OAuth with Prisma ORM. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + Customer story + + + + Bucket ships on Prisma ORM + + + + + Define the models + + + + + + Run one migration + + + + + + Tables ready + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-bucket-uses-prisma-orm/imgs/meta.png b/apps/blog/public/how-bucket-uses-prisma-orm/imgs/meta.png new file mode 100644 index 0000000000..49f96dda9b Binary files /dev/null and b/apps/blog/public/how-bucket-uses-prisma-orm/imgs/meta.png differ diff --git a/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg b/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg new file mode 100644 index 0000000000..25fe3415dd --- /dev/null +++ b/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg @@ -0,0 +1,80 @@ + + How Co.dev Uses Prisma Postgres to Power AI-Driven App Development for Non-Developers + ArchitectureFlow cover: Co.dev's build flow as three tiles — a prompt, a Prisma Postgres database provisioned through the Partner API and MCP, and the finished full-stack app. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Co.dev on Prisma Postgres + + + + + Prompt + describe the app + + + Prisma Postgres + Partner API + MCP + + + Full-stack app + production-ready + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png b/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png new file mode 100644 index 0000000000..8ee8143ce9 Binary files /dev/null and b/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png differ diff --git a/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg b/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg new file mode 100644 index 0000000000..a8b21bdd4e --- /dev/null +++ b/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg @@ -0,0 +1,101 @@ + + How Deno and Prisma Partnered to Power Per-Branch Databases + A Deno Deploy node branching into three lines, each ending in a Prisma Postgres database. + + + + + + + + + + + + + + + + + + + + + + + + + + + Partner integration + + + + + + Deno Deploy + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Postgres + + + + + Every branch gets + its own database + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png b/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png new file mode 100644 index 0000000000..1488f3f1b5 Binary files /dev/null and b/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png differ diff --git a/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg b/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg new file mode 100644 index 0000000000..5eba2fe536 --- /dev/null +++ b/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg @@ -0,0 +1,77 @@ + + How do GraphQL remote schemas work? + ArchitectureFlow — a remote schema takes its schema definition from an existing GraphQL API by introspection and forwards incoming queries and mutations to it. + + + + + + + + + + + + + + + + + + + Schema stitching + + + + + + + schema definition via introspection + + + + Client + query · mutation + + + + + + Remote schema + makeRemoteExecutableSchema + + forwards + + + + + + GraphQL API + existing service + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png b/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png new file mode 100644 index 0000000000..c9c407732a Binary files /dev/null and b/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png differ diff --git a/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg b/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg new file mode 100644 index 0000000000..2db3cbe098 --- /dev/null +++ b/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg @@ -0,0 +1,80 @@ + + How GreatFrontEnd Supercharged Development with Prisma ORM + A three-row comparison of raw SQL against Prisma ORM for type safety, schema changes and portability, with the Prisma ORM column tinted cyan. + + + + + + + + + + + + + + + + + + + + + + + + + + + Customer story + + + + GreatFrontEnd moves off raw SQL + + + + + Raw SQL + Prisma ORM + + + Type safety + runtime errors + generated types + Schema changes + manual tracking + built-in migrations + Portability + one provider + Postgres, MySQL, MongoDB + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png b/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png new file mode 100644 index 0000000000..4bba2d9a45 Binary files /dev/null and b/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png differ diff --git a/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg b/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg new file mode 100644 index 0000000000..f53243afec --- /dev/null +++ b/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg @@ -0,0 +1,81 @@ + + How MasterBoard simplified CI/CD testing with Prisma Postgres + Three cascading database plates, one per pull request, with the newest one in Prisma Postgres yellow, beside the line "A fresh database per pull request, seeded with six months of transactional test data". + + + + + + + + + + + + + + + + + + + Prisma Postgres + + + + A fresh database + per pull request + seeded with six months of test data + + + + + + + + + + pull request + + + + + + + pull request + + + + + + + pull request + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png b/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png new file mode 100644 index 0000000000..3181ef1909 Binary files /dev/null and b/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png differ diff --git a/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg b/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg new file mode 100644 index 0000000000..aec91851c5 --- /dev/null +++ b/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg @@ -0,0 +1,71 @@ + + How migrating from Sequelize to Prisma allowed Invisible to scale + The words Zero downtime set large in ink on light paper with a prism wash along the bottom edge, above two small chips reading sequelize and prisma joined by an arrow — Invisible's gradual live migration. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + Migration story + + + + + Zerodowntime + + + + + + sequelize + + + + prisma + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png b/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png new file mode 100644 index 0000000000..0ade512f1d Binary files /dev/null and b/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png differ diff --git a/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg b/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg new file mode 100644 index 0000000000..30a18235b7 --- /dev/null +++ b/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg @@ -0,0 +1,56 @@ + + How Prisma & Serverless Fit Together + TypeMark — the article's history of deployment set as a four-line list, bare metal through serverless and the edge, with the present era in ink and a note that databases have not caught up. + + + + + + + + + + + + + + + + + A brief history of deployment + + + + + Bare metalVirtual machinesContainersServerless & the edge + + + Each step handed more infrastructure to the provider. Databases didn’t follow. + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png b/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png new file mode 100644 index 0000000000..9b0b28e596 Binary files /dev/null and b/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png differ diff --git a/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg b/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg new file mode 100644 index 0000000000..bbee63eeac --- /dev/null +++ b/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg @@ -0,0 +1,73 @@ + + Prisma ORM: The Most Downloaded ORM for Node.js and TypeScript + A four-column chart of npm downloads for Node.js ORMs over the 30 days to 5 July 2026: prisma 55.3M in cyan, drizzle-orm 48.1M, typeorm 19.3M and sequelize 11.8M in grey. + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + + 55.3M + prisma + + + 48.1M + drizzle-orm + + + 19.3M + typeorm + + + 11.8M + sequelize + + + + + ORM npm downloads, 30 days to 5 July 2026 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png b/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png new file mode 100644 index 0000000000..1ff8aba416 Binary files /dev/null and b/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png differ diff --git a/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg b/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg new file mode 100644 index 0000000000..8e9c3e2de5 --- /dev/null +++ b/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg @@ -0,0 +1,57 @@ + + How Prisma Supports Database Transactions + A typographic cover on paper: the phrase "All or nothing" set large in Sora between two oversized prism-cyan brackets, standing for the way a transaction groups operations so they all commit or all roll back. + + + + + + + + + + + + + + + + + + + Database transactions + + + + + + All or nothing + Grouped operations succeed or fail as a whole + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png b/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png new file mode 100644 index 0000000000..89a31dad8e Binary files /dev/null and b/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png differ diff --git a/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg b/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg new file mode 100644 index 0000000000..4bcf758d23 --- /dev/null +++ b/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg @@ -0,0 +1,59 @@ + + How Solin Uses Prisma Accelerate to Serve 2.5M Database Queries per Day + MetricComponent — Solin's 2.5 million database queries per day served through Prisma Accelerate. + + + + + + + + + + + + + + + + + + + + Customer story + + + + 2.5M + database queries + per day + + Solin, running on Prisma Accelerate + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png b/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png new file mode 100644 index 0000000000..ba5a950130 Binary files /dev/null and b/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png differ diff --git a/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg b/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg new file mode 100644 index 0000000000..fbc8f3ec2b --- /dev/null +++ b/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg @@ -0,0 +1,65 @@ + + How to build a Real-Time Chat with GraphQL Subscriptions and Apollo + An ink code card holding the tutorial's GraphQL subscription document on the Message type, with the mutation field — which carries CREATED, UPDATED or DELETED — highlighted in cyan. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + GraphQL subscriptions + + + + + + + + subscription { + Message { + mutation # CREATED, UPDATED, DELETED + node { text } + } + } + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png b/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png new file mode 100644 index 0000000000..fabe962feb Binary files /dev/null and b/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png differ diff --git a/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg b/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg new file mode 100644 index 0000000000..a453e91b74 --- /dev/null +++ b/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg @@ -0,0 +1,70 @@ + + Best Practices To Speed Up Your Serverless Applications + CodeWindow — the article's Prisma Client snippet with the connection created outside the Lambda handler, the highlighted line. + + + + + + + + + + + + + + + + + + + + + + + Serverless performance + + + + Run it outside the handler + + + + + + + // Create database connection outside the handler + const prisma = new PrismaClient() + await prisma.$connect() + export const handler = async () => { + // ... + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png b/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png new file mode 100644 index 0000000000..3d8a3ee3b6 Binary files /dev/null and b/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png differ diff --git a/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg b/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg new file mode 100644 index 0000000000..c9c46f3e58 --- /dev/null +++ b/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg @@ -0,0 +1,68 @@ + + How to use create-react-app with GraphQL & Apollo + CodeWindow — the tutorial's allPosts feed query on an ink code card, the line Apollo sends to the GraphQL backend highlighted in prism red. + + + + + + + + + + + + + + + + + + + + + GraphQL + + + + Wiring React to GraphQL + + + + + ListPage.js + query allPosts { + allPosts(orderBy: createdAt_DESC) { + id + imageUrl + description + } + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png b/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png new file mode 100644 index 0000000000..e9cd66dc32 Binary files /dev/null and b/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png differ diff --git a/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg b/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg new file mode 100644 index 0000000000..16c6e60360 --- /dev/null +++ b/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg @@ -0,0 +1,96 @@ + + How to wrap a REST API with GraphQL - A 3-step tutorial + A three-stage flow on light paper: REST endpoints, GraphQL schema, resolvers — the three steps the tutorial uses to wrap a REST API with GraphQL. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL + + + + REST in, GraphQL out + + + + + REST endpoints + step 1 · data model + + + + GraphQL schema + step 2 · define types + + + + Resolvers + step 3 · fetch from REST + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png b/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png new file mode 100644 index 0000000000..e860ffdc30 Binary files /dev/null and b/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png differ diff --git a/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg b/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg index 1f6561346d..a9f3b9478b 100644 --- a/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg +++ b/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg @@ -3,9 +3,9 @@ A typographic quote card: Gabriel Gil Graña of Xeito on wanting to spend his time creating features instead of managing memory, pool connections, storage limits, replicas and backups. Prisma blog cover, 2026 brand, prism yellow accent. diff --git a/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png b/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png index 89ed0fa553..e5e6250a6d 100644 Binary files a/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png and b/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png differ diff --git a/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg b/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg new file mode 100644 index 0000000000..0a65fb6431 --- /dev/null +++ b/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg @@ -0,0 +1,103 @@ + + Improving Performance with Apollo Query Batching + A network-waterfall graphic: twelve uncoordinated GraphQL requests, six of them stalled behind the browser connection limit, against a single batched request. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL performance + + + + + Twelve requests,one round trip + + + + + + + 12 requests + + + + + + + + + + + + + stalled + 1 batched request + + browser limit: 6 concurrent connections + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png b/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png new file mode 100644 index 0000000000..3a7b389879 Binary files /dev/null and b/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png differ diff --git a/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg b/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg new file mode 100644 index 0000000000..f27d0b7917 --- /dev/null +++ b/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg @@ -0,0 +1,77 @@ + + New Release Process for Prisma + A flat three-stage flow on light paper — alpha, beta and stable — with the beta stage lit in yellow and labelled two weeks, no new features, under the headline "Two weeks in beta". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + Release process + + + + Two weeks in beta + + + + + alpha + features land here + + + + + + beta + two weeks, no new features + + + + + + stable + bi-weekly, for production + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png b/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png new file mode 100644 index 0000000000..d67d2b97f2 Binary files /dev/null and b/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png differ diff --git a/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg b/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg new file mode 100644 index 0000000000..5644d11520 --- /dev/null +++ b/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg @@ -0,0 +1,146 @@ + + Improving Query Performance with Indexes using Prisma: Introduction + Two rows of tick marks standing for table rows on light paper: the sequential-scan row is entirely grey because every row is read, while the index-scan row is pale with only three ticks lit in yellow. + + + + + + + + + + + + + + + + + + + Database indexes + + + + Sequential scan + reads every row + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index scan + reads the matching rows + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png b/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png new file mode 100644 index 0000000000..3d58dea490 Binary files /dev/null and b/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png differ diff --git a/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg b/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg new file mode 100644 index 0000000000..2549796b48 --- /dev/null +++ b/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg @@ -0,0 +1,72 @@ + + Improving Query Performance with Indexes using Prisma: B-Tree Indexes + An ink code card on light paper showing a Prisma schema User model with the line @@index([firstName]) highlighted in yellow, beside the measured execution time falling from a struck-through 66.5 ms to 0.8 ms. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + Database indexes + + + + + + + + model User { + firstName String + lastName String + @@index([firstName]) + } + + + + Execution time + 66.5 ms + + 0.8 ms + ≈80× faster on 500,000 rows + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png b/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png new file mode 100644 index 0000000000..b27e08384e Binary files /dev/null and b/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png differ diff --git a/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg b/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg new file mode 100644 index 0000000000..0c3af18fe3 --- /dev/null +++ b/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg @@ -0,0 +1,88 @@ + + Improving Query Performance with Indexes using Prisma: Hash Indexes + A flat diagram on light paper: the value 'Wick' passes through hash() and a yellow beam lands in a single lit bucket among eight, labelled 1.6 ms, above the schema line @@index([lastName], type: Hash). Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + Hash indexes + + + + + 'Wick' + + + + + + hash() + + + + + + + + + + + + + + + + + + 1.6 ms + one bucket, not 500,000 rows + + + + @@index([lastName], type: Hash) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png b/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png new file mode 100644 index 0000000000..f459323b1d Binary files /dev/null and b/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png differ diff --git a/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg b/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg new file mode 100644 index 0000000000..d41bad18ec --- /dev/null +++ b/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg @@ -0,0 +1,100 @@ + + Introducing Auto-Scaling for Prisma Accelerate’s Connection Pool + ArchitectureFlow family — 3-5 nodes, one relationship, one beam. A flat flow: an app sends queries through the Accelerate connection pool, which adds pool instances on demand up to the configured connection limit, then on to the database. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Connection pooling + + + + + + Your app + + + + + + Connection pool + + instance + + instance + + + up to your connection limit + + + + + + Database + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png b/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png new file mode 100644 index 0000000000..26ff730435 Binary files /dev/null and b/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png differ diff --git a/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg b/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg new file mode 100644 index 0000000000..7ef4dc54c5 --- /dev/null +++ b/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg @@ -0,0 +1,73 @@ + + Introducing global omit for model fields in Prisma ORM 5.16.0! + CodeWindow: an ink code card showing a Prisma Client initialized with a global omit of the user password field, so it is never returned by any query. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM 5.16.0 + + + + + Never return + a password + + + + + + + const prisma = new PrismaClient({ + omit: { + user: { password: true }, + }, + }) + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png b/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png new file mode 100644 index 0000000000..38db5b2381 Binary files /dev/null and b/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png differ diff --git a/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg b/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg new file mode 100644 index 0000000000..503a2883f6 --- /dev/null +++ b/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg @@ -0,0 +1,75 @@ + + Introducing GraphQL Nexus: Code-First GraphQL Server Development + ComparisonTable — in SDL-first development the schema file is the source and resolvers follow it; with code-first Nexus, makeSchema generates the schema file and TypeScript typings. + + + + + + + + + + + + + + + + + + + GraphQL Nexus + + + + + + + SDL-first + + schema.graphql + + + + resolvers + + + + + Code-first + + makeSchema() + + + + schema.graphql + + typings.ts + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png b/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png new file mode 100644 index 0000000000..2104c278cc Binary files /dev/null and b/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png differ diff --git a/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg b/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg new file mode 100644 index 0000000000..39428924d1 --- /dev/null +++ b/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg @@ -0,0 +1,79 @@ + + Introducing Instant App Deployments in Partnership with Vercel + Four-tile flow — one API call, Prisma Postgres provisioned, Vercel deploy, user claims it — with a yellow gradient beam pointing into the final tile. Prisma blog cover, 2026 brand, Prisma Postgres yellow accent. + + + + + + + + + + + + + + + + + + + + + Instant app deployment + + + + + One API call + to production + + + + + + + + + + + + One API call + Prisma Postgres + Vercel deploy + User claims it + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png b/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png new file mode 100644 index 0000000000..1a9d3a6c1c Binary files /dev/null and b/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png differ diff --git a/apps/blog/public/introducing-platform-environments/imgs/hero.svg b/apps/blog/public/introducing-platform-environments/imgs/hero.svg new file mode 100644 index 0000000000..1f7f20f68f --- /dev/null +++ b/apps/blog/public/introducing-platform-environments/imgs/hero.svg @@ -0,0 +1,77 @@ + + Introducing Platform Environments + A two-column table on light paper listing the number of environments each Prisma Data Platform project gets per plan: Starter 2, Pro 6, Business 12. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + Prisma Data Platform + + + + + One project, + many environments + + + + + + Plan + Environments per project + + + Starter + 2 + + + Pro + 6 + + + Business + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/introducing-platform-environments/imgs/meta.png b/apps/blog/public/introducing-platform-environments/imgs/meta.png new file mode 100644 index 0000000000..3b376e6f38 Binary files /dev/null and b/apps/blog/public/introducing-platform-environments/imgs/meta.png differ diff --git a/apps/blog/public/introducing-prisma-nuxt/imgs/hero.svg b/apps/blog/public/introducing-prisma-nuxt/imgs/hero.svg new file mode 100644 index 0000000000..55b81a9317 --- /dev/null +++ b/apps/blog/public/introducing-prisma-nuxt/imgs/hero.svg @@ -0,0 +1,78 @@ + + Introducing Prisma Nuxt: Simplifying Data Management for Nuxt Apps + A dark terminal card on light paper showing npm install @prisma/nuxt followed by the setup the module performs, beside the headline "One module, whole setup". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nuxt + Prisma ORM + + + + + One module,whole setup + + + + + + $ npm install @prisma/nuxt + + Prisma project with SQLite + User and Post models + Prisma Client generated + Prisma Studio in Devtools + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/introducing-prisma-nuxt/imgs/meta.png b/apps/blog/public/introducing-prisma-nuxt/imgs/meta.png new file mode 100644 index 0000000000..b1e243af46 Binary files /dev/null and b/apps/blog/public/introducing-prisma-nuxt/imgs/meta.png differ diff --git a/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg b/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg new file mode 100644 index 0000000000..27da11cc78 --- /dev/null +++ b/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg @@ -0,0 +1,81 @@ + + How iopool refactored their app in less than 6 months with Prisma + ComparisonTable cover: a white card comparing iopool's architecture before Prisma with the rebuilt version — 16 microservices to Lambda and Postgres, releases every two to three weeks to two or more a week, features in weeks to features in days. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + iopool rebuilt on Prisma + + + + + + + Before + With Prisma + + 16 microservices + Lambda and Postgres + + + A release every 2–3 weeks + Two or more a week + + + Features in weeks + Features in days + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png b/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png new file mode 100644 index 0000000000..d87a24703d Binary files /dev/null and b/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png differ diff --git a/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg b/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg new file mode 100644 index 0000000000..01a975bcf4 --- /dev/null +++ b/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg @@ -0,0 +1,79 @@ + + Jamstack with Next.js and Prisma + CodeWindow cover: the post's getStaticProps function on an ink card, with the revalidate line highlighted as the key to incremental static re-generation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Next.js and Prisma + + + + Static pages,fresh data + Re-generated at most once a second + + + + + pages/index.tsx + + export const getStaticProps = async () => { + const posts = await prisma.post.findMany() + return { + props: { posts }, + revalidate: 1, + } + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png b/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png new file mode 100644 index 0000000000..339ad8c457 Binary files /dev/null and b/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png differ diff --git a/apps/blog/public/labelbox-simnycbotiok/imgs/hero.svg b/apps/blog/public/labelbox-simnycbotiok/imgs/hero.svg new file mode 100644 index 0000000000..9e339a341c --- /dev/null +++ b/apps/blog/public/labelbox-simnycbotiok/imgs/hero.svg @@ -0,0 +1,74 @@ + + How Labelbox Supports Vast Machine Learning Needs with Prisma + A field of small cells standing for millions of human-labeled machine learning records, dissolving toward the left where the headline sits. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Labelbox customer story + + + + + Millions of + labeled records + + Machine learning training data + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/labelbox-simnycbotiok/imgs/meta.png b/apps/blog/public/labelbox-simnycbotiok/imgs/meta.png new file mode 100644 index 0000000000..eae17567d1 Binary files /dev/null and b/apps/blog/public/labelbox-simnycbotiok/imgs/meta.png differ diff --git a/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg b/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg new file mode 100644 index 0000000000..afdc92436d --- /dev/null +++ b/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg @@ -0,0 +1,69 @@ + + Learn TypeScript: A Pocketguide Tutorial + CodeWindow cover: an ink code card holding the guide's getWordLength example, its string and number type annotations picked out in prism yellow above the compiler error the call produces. + + + + + + + + + + + + + + + + + + + + + + + TypeScript + + + + Errors caught + before runtime + + + + + function getWordLength(word: string): number { + return word.length + } + getWordLength(42) + // Argument of type 'number' is not + // assignable to parameter of type 'string'. + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png b/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png new file mode 100644 index 0000000000..0fdf86a1d6 Binary files /dev/null and b/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png differ diff --git a/apps/blog/public/make-your-applications-fast-globally/imgs/hero.svg b/apps/blog/public/make-your-applications-fast-globally/imgs/hero.svg new file mode 100644 index 0000000000..d7220980be --- /dev/null +++ b/apps/blog/public/make-your-applications-fast-globally/imgs/hero.svg @@ -0,0 +1,72 @@ + + Make Your Applications Fast Globally + Two comparison bars on light paper: three dependent queries from a Tokyo function to a Virginia database take about 900 ms, while the same queries colocated in Virginia return in under 90 ms. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + Edge performance + + + + Latency is geography + + + + Function in Tokyo, database in Virginia + + ~900 ms + + Function colocated with the database + + under 90 ms + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/make-your-applications-fast-globally/imgs/meta.png b/apps/blog/public/make-your-applications-fast-globally/imgs/meta.png new file mode 100644 index 0000000000..d7c2ec2545 Binary files /dev/null and b/apps/blog/public/make-your-applications-fast-globally/imgs/meta.png differ diff --git a/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg b/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg new file mode 100644 index 0000000000..a95ccaa1a3 --- /dev/null +++ b/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg @@ -0,0 +1,85 @@ + + Database Metrics with Prisma, Prometheus & Grafana + A flat four-stage pipeline on light paper: a highlighted Prisma Client tile emitting $metrics.prometheus() sends a cyan beam to a GET /metrics Express endpoint, which Prometheus collects from and Grafana visualizes. + + + + + + + + + + + + + + + + + + + + + + Database metrics + + + + + + + + + + + + + + + Prisma Client + + + GET /metrics + + + Prometheus + + + Grafana + + + + $metrics.prometheus() + Express endpoint + collects + visualizes + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png b/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png new file mode 100644 index 0000000000..c51a2020eb Binary files /dev/null and b/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png differ diff --git a/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg b/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg new file mode 100644 index 0000000000..548c1f3cda --- /dev/null +++ b/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg @@ -0,0 +1,74 @@ + + Prisma Adds Support for MongoDB + A wide ink code card on paper showing the article's Prisma schema for MongoDB — a User model whose id maps to the document's _id as an ObjectId, picked out in prism cyan — under the headline "A schema for a schemaless database". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MongoDB support + + + + A schema for a schemaless database + + + + + model User { + id String @id @default(auto()) @map("_id") @db.ObjectId + email String? @unique + posts Post[] + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/meta.png b/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/meta.png new file mode 100644 index 0000000000..d48e3482d9 Binary files /dev/null and b/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/meta.png differ diff --git a/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg b/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg new file mode 100644 index 0000000000..de459d3bfe --- /dev/null +++ b/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg @@ -0,0 +1,76 @@ + + Application Monitoring Best Practices + A white card on light paper listing the five stages of a metric — instrumentation, metrics collection, storage and processing, visualization and alerting — with the alerting row highlighted in red, over a soft red aurora band. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + Application monitoring + + + + + The five stages of a metric + + + 1 + Instrumentation + + 2 + Metrics collection + + 3 + Storage and processing + + 4 + Visualization + + + + 5 + Alerting + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/meta.png b/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/meta.png new file mode 100644 index 0000000000..074148b3a1 Binary files /dev/null and b/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/meta.png differ diff --git a/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg b/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg new file mode 100644 index 0000000000..96733f4d0a --- /dev/null +++ b/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg @@ -0,0 +1,77 @@ + + Building a REST API with NestJS and Prisma: Authentication + A NestJS controller in an ink code card with the @UseGuards(JwtAuthGuard) line highlighted, pointing at a card showing the 401 Unauthorized response an unauthenticated request now gets. + + + + + + + + + + + + + + + + + + + + + + + JWT authentication + + + + One decorator protects the route + + + + + src/users/users.controller.ts + + @Get() + @UseGuards(JwtAuthGuard) + async findAll() { + const users = await this.usersService.findAll(); + return users.map((user) => new UserEntity(user)); + } + + + + + + + 401 + Unauthorized + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png b/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png new file mode 100644 index 0000000000..b4e89203e2 Binary files /dev/null and b/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png differ diff --git a/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg b/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg new file mode 100644 index 0000000000..986141aef0 --- /dev/null +++ b/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg @@ -0,0 +1,82 @@ + + Building a REST API with NestJS and Prisma: Error Handling + Three mapping rows from the tutorial: NotFoundException becomes 404 Not Found, the Prisma error code P2002 becomes 409 Conflict (highlighted in cyan), and the filter's default case becomes 500 Internal server error. + + + + + + + + + + + + + + + + + + + + + NestJS error handling + + + + + + NotFoundException + + + + 404 Not Found + + + + + P2002 + unique constraint + + + + 409 Conflict + + + + + default + + + + 500 Internal server error + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png b/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png new file mode 100644 index 0000000000..d5dbcc8916 Binary files /dev/null and b/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png differ diff --git a/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg b/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg new file mode 100644 index 0000000000..86655f5e0c --- /dev/null +++ b/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg @@ -0,0 +1,79 @@ + + Building a REST API with NestJS and Prisma: Handling Relational Data + An ink code card on light paper showing the Prisma query prisma.article.findUnique with the include author line highlighted in cyan, beside the headline "Article and author in one request". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + Article and author + in one request + NestJS + Prisma ORM, part 4 + + + + + + + articles.service.ts + + prisma.article.findUnique({ + where: { id }, + include: { author: true }, + }) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png b/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png new file mode 100644 index 0000000000..0b5843322d Binary files /dev/null and b/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png differ diff --git a/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg b/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg new file mode 100644 index 0000000000..5dd635c8d6 --- /dev/null +++ b/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg @@ -0,0 +1,77 @@ + + Building a REST API with NestJS and Prisma + An editorial route list on light paper: the six /articles endpoints built in the tutorial, set in mono with hairline rules, with the POST /articles row tinted cyan. + + + + + + + + + + + + + + + + + + + REST API with NestJS and Prisma ORM + + + + + + POST + /articles + + + GET + /articles + + + GET + /articles/drafts + + + GET + /articles/:id + + + PATCH + /articles/:id + + + DELETE + /articles/:id + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png b/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png new file mode 100644 index 0000000000..e4f81a4998 Binary files /dev/null and b/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png differ diff --git a/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg b/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg new file mode 100644 index 0000000000..3efcca8f6d --- /dev/null +++ b/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg @@ -0,0 +1,78 @@ + + Building a REST API with NestJS and Prisma: Input Validation & Transformation + A branching flow on light paper: a POST /articles request meets the NestJS ValidationPipe, which either passes it to the route handler or rejects it with 400 Bad Request. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + NestJS and Prisma ORM + + + + Validate before the handler + + + + + POST /articles + + + + + + ValidationPipe + + + + + Route handler + + + + + 400 Bad Request + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png b/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png new file mode 100644 index 0000000000..2dde584641 Binary files /dev/null and b/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png differ diff --git a/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg b/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg new file mode 100644 index 0000000000..585b39f10a --- /dev/null +++ b/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg @@ -0,0 +1,77 @@ + + New Tooling to Improve Your GraphQL Workflows + ArchitectureFlow cover: three GraphQL tools that each needed their own config format merge along a single bus into one lit .graphqlconfig card. + + + + + + + + + + + + + + + + + + + GraphQL tooling + + + + One config, every tool + + + + + + ESLint + + Language Service + + IntelliJ + + + + + + + + + + + + .graphqlconfig + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png b/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png new file mode 100644 index 0000000000..681d3fbc97 Binary files /dev/null and b/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png differ diff --git a/apps/blog/public/operations-based-billing/imgs/hero.svg b/apps/blog/public/operations-based-billing/imgs/hero.svg new file mode 100644 index 0000000000..bf8c1cd0a1 --- /dev/null +++ b/apps/blog/public/operations-based-billing/imgs/hero.svg @@ -0,0 +1,90 @@ + + Operations-Based Billing: A Simpler Pricing Model for Modern Databases + A white panel lists the eight SQL statements that one prisma.user.create() call expands into, closed by a yellow chip reading "1 operation" — Prisma Postgres bills the query, not the statements. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Postgres pricing + + + + One query, + one operation + Regardless of the compute or + bandwidth it uses. + + + + + + prisma.user.create() + expands to 8 SQL statements + + INSERT INTO "User" + SELECT FROM "Post" + INSERT INTO "Post" + INSERT INTO "_Post" + SELECT FROM "Post" + INSERT INTO "Post" + INSERT INTO "_Post" + SELECT FROM "User" + + + + + 1 operation + billed + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/operations-based-billing/imgs/meta.png b/apps/blog/public/operations-based-billing/imgs/meta.png new file mode 100644 index 0000000000..c3bfb062a6 Binary files /dev/null and b/apps/blog/public/operations-based-billing/imgs/meta.png differ diff --git a/apps/blog/public/optimizing-postgres-for-global-apps/imgs/hero.svg b/apps/blog/public/optimizing-postgres-for-global-apps/imgs/hero.svg new file mode 100644 index 0000000000..f9d012442d --- /dev/null +++ b/apps/blog/public/optimizing-postgres-for-global-apps/imgs/hero.svg @@ -0,0 +1,79 @@ + + Optimizing Postgres for Global Apps + A metric cover: the figure ~460 ms, the time the article gives for establishing a Postgres connection from an app in Tokyo to a database in us-east-1, beside a small sequence diagram of five round trips between the two lifelines. + + + + + + + + + + + + + + + + + + + Postgres wire protocol + + + + ~460 ms + to establish a Postgres connection + 18 messages · about 5 round trips + + + + app + Tokyo + Postgres + us-east-1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/optimizing-postgres-for-global-apps/imgs/meta.png b/apps/blog/public/optimizing-postgres-for-global-apps/imgs/meta.png new file mode 100644 index 0000000000..bbbbbc0b0f Binary files /dev/null and b/apps/blog/public/optimizing-postgres-for-global-apps/imgs/meta.png differ diff --git a/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg b/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg new file mode 100644 index 0000000000..821606549d --- /dev/null +++ b/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg @@ -0,0 +1,92 @@ + + Organize Your Prisma Schema into Multiple Files + A white card showing the prisma directory tree — migrations, a models folder holding user.prisma and post.prisma, and schema.prisma — with a cyan arc linking the two model files. Headline "Relations work across files". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + prisma/ + + + + + + + + + + migrations + models + user.prisma + post.prisma + schema.prisma + + + + + + + + + Prisma Schema + + + + Relations work + across files + Generally Available in 6.7.0 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png b/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png new file mode 100644 index 0000000000..5da652a306 Binary files /dev/null and b/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png differ diff --git a/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg b/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg new file mode 100644 index 0000000000..6d5c7ca8a5 --- /dev/null +++ b/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg @@ -0,0 +1,64 @@ + + ORM 6.10.0, New Features for Prisma Postgres, Remote MCP & More + The release number 6.10.0 set in large type on light paper, with the Prisma prism stripe bleeding off the lower-right corner. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM release + + + + 6.10.0 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png b/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png new file mode 100644 index 0000000000..3141919477 Binary files /dev/null and b/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png differ diff --git a/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg b/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg new file mode 100644 index 0000000000..d36139c136 --- /dev/null +++ b/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg @@ -0,0 +1,55 @@ + + ORM 6.12.0: ESM-Compatible Generator in Preview & New Options for Prisma Config + The version number 6.12.0 set very large in ink on paper, underlined by a short spectral rule, above the line "ESM-compatible prisma-client generator, now in Preview". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + Prisma ORM release + + + + 6.12.0 + + ESM-compatible prisma-client generator, now in Preview + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png b/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png new file mode 100644 index 0000000000..dabdcf67aa Binary files /dev/null and b/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png differ diff --git a/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg b/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg new file mode 100644 index 0000000000..d92f7253d4 --- /dev/null +++ b/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg @@ -0,0 +1,73 @@ + + ORM 6.13.0, CI/CD Workflows & pgvector for Prisma Postgres + ComparisonTable cover: a white release manifest card on paper listing what shipped in Prisma ORM 6.13.0 — prisma.config.ts and multi-schema in General Availability, pgvector and a Management API for Prisma Postgres — with a spectral edge along the card's top. + + + + + + + + + + + + + + + + + + + + + Prisma ORM 6.13.0 + + + + + + + + + prisma.config.ts + Generally Available + + Multi-schema support + Generally Available + + + pgvector + Prisma Postgres + + + Management API + CI/CD workflows + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png b/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png new file mode 100644 index 0000000000..32c31e11e4 Binary files /dev/null and b/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png differ diff --git a/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg b/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg new file mode 100644 index 0000000000..949c54a52b --- /dev/null +++ b/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg @@ -0,0 +1,69 @@ + + ORM 6.15.0, AI Safety Guardrails for Destructive Commands & More + An ink terminal card showing prisma migrate reset held behind a confirmation requirement when the command is run by an AI coding agent. + + + + + + + + + + + + + + + + + + + Prisma ORM 6.15.0 + + + + + AI agents must + ask first + + + + + + $ + prisma migrate reset + + + Confirmation required + when the command is run by an AI coding agent + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png b/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png new file mode 100644 index 0000000000..ef6aa42767 Binary files /dev/null and b/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png differ diff --git a/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg b/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg new file mode 100644 index 0000000000..ad49711f2a --- /dev/null +++ b/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg @@ -0,0 +1,77 @@ + + ORM v6.11.0, Embedded Prisma Studio, Rust-free ORM for MySQL in Preview & More + A three-row editorial table on light paper listing the databases that Prisma ORM v6.11.0 moved to the Rust-free query compiler in Preview — MySQL/MariaDB, Neon and CockroachDB — each with its driver adapter package. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM v6.11.0 + + + + Rust-free ORM in Preview + + + + + MySQL / MariaDB + @prisma/adapter-mariadb + + + Neon + @prisma/adapter-neon + + + CockroachDB + @prisma/adapter-pg + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png b/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png new file mode 100644 index 0000000000..6289f59892 Binary files /dev/null and b/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png differ diff --git a/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg b/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg new file mode 100644 index 0000000000..34c78b7a99 --- /dev/null +++ b/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg @@ -0,0 +1,68 @@ + + ORM v6.17.0, New Usage Metrics & Direct Connections in GA for Prisma Postgres + A beam of light running from a row of Postgres tools — Drizzle, Kysely, TypeORM, psql — into a Prisma Postgres database drawn as stacked planes, marking direct connections as generally available. Prisma blog cover, 2026 brand, Postgres yellow accent. + + + + + + + + + + + + + + + + + + Prisma Postgres + + + + Direct connections are GA + + + + Drizzle · Kysely · TypeORM · psql + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png b/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png new file mode 100644 index 0000000000..06035caf4b Binary files /dev/null and b/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png differ diff --git a/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg b/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg new file mode 100644 index 0000000000..642df55a32 --- /dev/null +++ b/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg @@ -0,0 +1,79 @@ + + Overcoming Database Challenges in Serverless & Edge Applications + ArchitectureFlow cover: a stack of ephemeral function instances, each holding a pool size of one, feeding a connection pool (PgBouncer) that fronts a single PostgreSQL database, with a cyan beam on the pooled edge. + + + + + + + + + + + + + + + + + + + + + Serverless and edge + + + + Stateful data in + stateless environments + + + + + + + Functions + pool size 1 + + + + + + Connection pool + PgBouncer + + + + + + Database + PostgreSQL + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png b/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png new file mode 100644 index 0000000000..46a645c9cf Binary files /dev/null and b/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png differ diff --git a/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg b/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg new file mode 100644 index 0000000000..7f143dc111 --- /dev/null +++ b/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg @@ -0,0 +1,64 @@ + + How Panther champions talent over geography with Prisma + A typographic cover on light paper reading "Payroll and compliance in 160+ countries", the figure Panther supports, with the plus sign in prism cyan and a spectral wash pooling at the right edge. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + Panther customer story + + + + Payroll and compliance in + 160+countries + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/meta.png b/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/meta.png new file mode 100644 index 0000000000..54f6565f18 Binary files /dev/null and b/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/meta.png differ diff --git a/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg b/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg new file mode 100644 index 0000000000..7e30b1666c --- /dev/null +++ b/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg @@ -0,0 +1,63 @@ + + How Prisma Allowed Pearly to Scale Quickly with an Ultra-Lean Team + A typographic cover: the figure "1 developer" set large in ink with a cyan numeral, over the line "built the first version of both Pearly products", on a cyan mesh field. + + + + + + + + + + + + + + + + + + + + + + + + + + + Customer story + + + + 1 developer + built the first version of both Pearly products + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png b/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png new file mode 100644 index 0000000000..62ca0ca098 Binary files /dev/null and b/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png differ diff --git a/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg b/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg new file mode 100644 index 0000000000..db839eeeee --- /dev/null +++ b/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg @@ -0,0 +1,82 @@ + + Performance Benchmarks: Comparing Query Latency across TypeScript ORMs & Databases + ComparisonTable — median findMany latency for Prisma ORM, Drizzle ORM and TypeORM across Supabase, AWS RDS and Neon; the cover title answers "which ORM is fastest" with the article's conclusion. + + + + + + + + + + + + + + + + + + + + + ORM benchmarks + + + + + Which ORM is fastest?It depends + + + + + Prisma ORM + Drizzle ORM + TypeORM + + + Supabase + 8.00 ms + 23.09 ms + 5.24 ms + + AWS RDS + 6.59 ms + 19.19 ms + 4.20 ms + + Neon + 11.43 ms + 29.35 ms + 7.25 ms + + Median latency, plain findMany, 500 iterations + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png b/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png new file mode 100644 index 0000000000..e5d4c93920 Binary files /dev/null and b/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png differ diff --git a/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/hero.svg b/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/hero.svg new file mode 100644 index 0000000000..d4951d969b --- /dev/null +++ b/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/hero.svg @@ -0,0 +1,78 @@ + + How We're Constantly Improving the Performance of Prisma + A FlameGraph of stacked frames with one wide highlighted frame labelled Calendar, beside the figure 40% — the memory saved in a hot code path after the Calendar instantiation was moved out of it. + + + + + + + + + + + + + + + + + + + + + + + + + + + Performance engineering + + + + 40% + less memory in a hot code path + after one FlameGraph fix + + + + + + + + + + + + + + Calendar + FlameGraph of a Prisma 1 code path + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/meta.png b/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/meta.png new file mode 100644 index 0000000000..3f03fbaab7 Binary files /dev/null and b/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/meta.png differ diff --git a/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg b/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg new file mode 100644 index 0000000000..350101c56d --- /dev/null +++ b/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg @@ -0,0 +1,58 @@ + + How Poppy Uses Prisma Client to Ship Confidently + The figure 1.5M set large on light paper, labelled as the rides taken on Poppy's fleet served by Prisma Client, with the fleet's 500 shared cars, 400 e-scooters and 200 e-steps named beneath. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + Customer story + + + + 1.5M + rides on Poppy's fleet, served by Prisma Client + 500 shared cars · 400 e-scooters · 200 e-steps + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png b/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png new file mode 100644 index 0000000000..d7b26ac687 Binary files /dev/null and b/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png differ diff --git a/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg b/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg new file mode 100644 index 0000000000..6d8a6553d3 --- /dev/null +++ b/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg @@ -0,0 +1,54 @@ + + Prisma 2.0 is in Beta: Type-safe Database Access with Prisma Client + A monumental 2.0 set in ink on paper, underlined by a thin Prisma spectrum rule, with a "Beta release" kicker and the Prisma lockup. + + + + + + + + + + + + + + + + + + Beta release + + + + 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png b/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png new file mode 100644 index 0000000000..b414f4b7be Binary files /dev/null and b/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png differ diff --git a/apps/blog/public/prisma-5-f66prwkjx72s/imgs/hero.svg b/apps/blog/public/prisma-5-f66prwkjx72s/imgs/hero.svg new file mode 100644 index 0000000000..af708c36bb --- /dev/null +++ b/apps/blog/public/prisma-5-f66prwkjx72s/imgs/hero.svg @@ -0,0 +1,63 @@ + + Prisma 5: Faster by Default + Two horizontal bars comparing Prisma Client response time in a serverless cold start: a grey "Before" bar and a cyan "Prisma 5" bar one third as long, under the headline "Cut by two-thirds". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + Prisma ORM 5 + + + + Cut by two-thirds + Prisma Client response time in a serverless cold start + + + + Before + + + Prisma 5 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-5-f66prwkjx72s/imgs/meta.png b/apps/blog/public/prisma-5-f66prwkjx72s/imgs/meta.png new file mode 100644 index 0000000000..7d877d8548 Binary files /dev/null and b/apps/blog/public/prisma-5-f66prwkjx72s/imgs/meta.png differ diff --git a/apps/blog/public/prisma-6-8-0-release/imgs/hero.svg b/apps/blog/public/prisma-6-8-0-release/imgs/hero.svg new file mode 100644 index 0000000000..b8afc2a222 --- /dev/null +++ b/apps/blog/public/prisma-6-8-0-release/imgs/hero.svg @@ -0,0 +1,82 @@ + + Prisma 6.8.0: VS Code Agent Mode, Local Prisma Postgres, Native Deno Support + An ink terminal card on light paper showing the command npx prisma dev with the three things local Prisma Postgres needs no longer: Docker, an account, network latency. Prisma blog cover, 2026 brand, Postgres yellow accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma 6.8.0 + + + + Local Postgres + in one command + + + + + $ npx prisma dev + + + + No Docker + + + No account + + + Zero latency + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-6-8-0-release/imgs/meta.png b/apps/blog/public/prisma-6-8-0-release/imgs/meta.png new file mode 100644 index 0000000000..7a986a1633 Binary files /dev/null and b/apps/blog/public/prisma-6-8-0-release/imgs/meta.png differ diff --git a/apps/blog/public/prisma-6-9-0-release/imgs/hero.svg b/apps/blog/public/prisma-6-9-0-release/imgs/hero.svg new file mode 100644 index 0000000000..e92e51059f --- /dev/null +++ b/apps/blog/public/prisma-6-9-0-release/imgs/hero.svg @@ -0,0 +1,87 @@ + + Prisma 6.9.0: Rust-Free ORM in Preview, Connect To Prisma Postgres With Any Tool, & More + A flow diagram on light paper: four tiles labelled Drizzle, Kysely, TypeORM and psql merge into a single yellow connection that ends at a Prisma Postgres node. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma 6.9.0 + + + + + + + + + + + + + + + + + + + + Drizzle + Kysely + TypeORM + psql + and any other Postgres-compatible library + Prisma Postgres + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-6-9-0-release/imgs/meta.png b/apps/blog/public/prisma-6-9-0-release/imgs/meta.png new file mode 100644 index 0000000000..843d1dc16b Binary files /dev/null and b/apps/blog/public/prisma-6-9-0-release/imgs/meta.png differ diff --git a/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg b/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg new file mode 100644 index 0000000000..27bf9d1da1 --- /dev/null +++ b/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg @@ -0,0 +1,67 @@ + + Prisma 6: Better Performance, More Flexibility & Type-Safe SQL + A giant ink numeral 6 on paper with a spectral wash behind it, and the three headline capabilities of the v6 release listed beside a hairline rule: JOIN strategy selection, edge support and serverless drivers, and Typed SQL. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + 6 + + + Pick the best JOIN strategy + Edge support and serverless drivers + Typed SQL for raw queries + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png b/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png new file mode 100644 index 0000000000..a00ef1bce6 Binary files /dev/null and b/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png differ diff --git a/apps/blog/public/prisma-7-performance-benchmarks/imgs/hero.svg b/apps/blog/public/prisma-7-performance-benchmarks/imgs/hero.svg new file mode 100644 index 0000000000..8b708a2e32 --- /dev/null +++ b/apps/blog/public/prisma-7-performance-benchmarks/imgs/hero.svg @@ -0,0 +1,75 @@ + + Prisma 7 Performance and Benchmarks + Diverging bar chart: large result sets run up to 3x faster in Prisma 7 while tiny queries in a tight loop regress — both benchmarks are true. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + + Both benchmarks + are true + + + + + + + large result sets + + up to 3× faster + + tiny queries in a tight loop + + regression · being fixed + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-7-performance-benchmarks/imgs/meta.png b/apps/blog/public/prisma-7-performance-benchmarks/imgs/meta.png new file mode 100644 index 0000000000..ffde3574ef Binary files /dev/null and b/apps/blog/public/prisma-7-performance-benchmarks/imgs/meta.png differ diff --git a/apps/blog/public/prisma-adopts-semver-strictly/imgs/hero.svg b/apps/blog/public/prisma-adopts-semver-strictly/imgs/hero.svg new file mode 100644 index 0000000000..3e4b3a36c4 --- /dev/null +++ b/apps/blog/public/prisma-adopts-semver-strictly/imgs/hero.svg @@ -0,0 +1,56 @@ + + Prisma Adopts Semantic Versioning (SemVer) + A typographic cover on paper: the version string major.minor.patch set large in mono, with the major segment picked out in red and underlined, labelled with the new release rule that breaking changes to the stable surface only ship in major versions. + + + + + + + + + + + + + + + + + + + Release policy + + + + major.minor.patch + + Breaking changes only in major versions + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-adopts-semver-strictly/imgs/meta.png b/apps/blog/public/prisma-adopts-semver-strictly/imgs/meta.png new file mode 100644 index 0000000000..2b28848fe5 Binary files /dev/null and b/apps/blog/public/prisma-adopts-semver-strictly/imgs/meta.png differ diff --git a/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg b/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg new file mode 100644 index 0000000000..a9cb85c5a0 --- /dev/null +++ b/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg @@ -0,0 +1,76 @@ + + How Prisma and GraphQL fit together + A prism on light paper: one grey beam from a database enters the Prisma client and leaves as three coloured beams labelled GraphQL, REST and gRPC — GraphQL as one of several use cases for Prisma. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL + + + + Database + + + + + + + + Prisma client + + GraphQL + REST + gRPC + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png b/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png new file mode 100644 index 0000000000..73cf5439c3 Binary files /dev/null and b/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png differ diff --git a/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg b/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg new file mode 100644 index 0000000000..08977a6e78 --- /dev/null +++ b/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg @@ -0,0 +1,57 @@ + + How We Sped Up Serverless Cold Starts with Prisma by 9x + A metric cover: the numeral 9x set very large in ink on paper, lit by a single cyan bloom, labelled as faster Prisma Client startup in serverless functions. + + + + + + + + + + + + + + + + + + + Serverless cold starts + + + + + faster Prisma Client startup + in serverless functions + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png b/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png new file mode 100644 index 0000000000..ae32028cd8 Binary files /dev/null and b/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png differ diff --git a/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/hero.svg b/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/hero.svg new file mode 100644 index 0000000000..4c482aa854 --- /dev/null +++ b/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/hero.svg @@ -0,0 +1,77 @@ + + Prisma Client (Preview): Simplified & Type-safe Database Access + PrismObject cover: a datamodel beam entering a prism and refracting into four rays labelled with the Prisma client generators for TypeScript, JavaScript, Flow and Go. + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma client + + + + + datamodel + + + + + + + + + + + typescript-client + javascript-client + flow-client + go-client + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/meta.png b/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/meta.png new file mode 100644 index 0000000000..cb01f4c8df Binary files /dev/null and b/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/meta.png differ diff --git a/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg b/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg new file mode 100644 index 0000000000..9ca9d25513 --- /dev/null +++ b/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg @@ -0,0 +1,80 @@ + + The Prisma Data Platform is now Generally Available + ArchitectureFlow family — a three-node flow, serverless app to Data Proxy to database, with the Data Proxy highlighted in cyan and a gradient beam on the pooled connection. + + + + + + + + + + + + + + + + + + + + + + Prisma Data Platform + + + + + Connect apps to databases + + + + + + Serverless app + + + Data Proxy + + + Database + + + + + + + + + connection pooling + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png b/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png new file mode 100644 index 0000000000..69881d516a Binary files /dev/null and b/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png differ diff --git a/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/hero.svg b/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/hero.svg new file mode 100644 index 0000000000..b071bed26e --- /dev/null +++ b/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/hero.svg @@ -0,0 +1,103 @@ + + Database Access in Serverless Environments: Connection Pooling and the Prisma Data Proxy + A fan-in diagram on light paper: five short-lived serverless functions converge on one external connection pool, which holds the single path to the database. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Serverless database access + + + + + function + + function + + function + + function + + function + + + + + + + Connection pool + reused connections + + + + + + Database + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/meta.png b/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/meta.png new file mode 100644 index 0000000000..febbe33bf8 Binary files /dev/null and b/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/meta.png differ diff --git a/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg b/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg new file mode 100644 index 0000000000..50dcfe8982 --- /dev/null +++ b/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg @@ -0,0 +1,66 @@ + + Announcing Prisma Day 2022! Our First Hybrid Prisma Day. + GradientField family — a single soft yellow aurora band sweeping across a paper canvas above the event date and location. + + + + + + + + + + + + + + + + + + + + + + + + Prisma Day 2022 + + + + + Berlin and online + + + + + June 15–16, 2022 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png b/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png new file mode 100644 index 0000000000..cd66c29f40 Binary files /dev/null and b/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png differ diff --git a/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg b/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg new file mode 100644 index 0000000000..c011bfe80b --- /dev/null +++ b/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg @@ -0,0 +1,61 @@ + + Announcing the Prisma FOSS Fund + MetricComponent cover: the monthly $5,000 FOSS Fund donation set in giant Sora, with the three projects supported so far listed beneath it. + + + + + + + + + + + + + + + + + + + Open source + + + + $5,000 + every month to an independent open source project + + + + + Supported so far + Rust Analyzer · Open Source Community Africa · Pothos + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png b/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png new file mode 100644 index 0000000000..85f18c8441 Binary files /dev/null and b/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png differ diff --git a/apps/blog/public/prisma-insider-program/imgs/hero.svg b/apps/blog/public/prisma-insider-program/imgs/hero.svg new file mode 100644 index 0000000000..87d465867d --- /dev/null +++ b/apps/blog/public/prisma-insider-program/imgs/hero.svg @@ -0,0 +1,73 @@ + + Join the Prisma Insider Program and Shape the Future of our Products + A two-way loop: early access to products in development flows out to fifteen insiders, and their feedback flows back. + + + + + + + + + + + + + + + + + + + + + + Prisma Insider Program + + + + + Products in development + Accelerate · Prisma Postgres + + + Insiders + 15 members + + + + Early access + + + + Feedback + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-insider-program/imgs/meta.png b/apps/blog/public/prisma-insider-program/imgs/meta.png new file mode 100644 index 0000000000..6894986214 Binary files /dev/null and b/apps/blog/public/prisma-insider-program/imgs/meta.png differ diff --git a/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg b/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg new file mode 100644 index 0000000000..e97607d3c8 --- /dev/null +++ b/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg @@ -0,0 +1,70 @@ + + Microsoft SQL Server Support in Prisma is Production-Ready + A soft cyan mesh field on paper with one small white card naming the Prisma datasource provider sqlserver and its status, generally available in 3.0.1. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Microsoft SQL Server and Azure SQL + + + + + + + Datasource provider + sqlserver + Generally available in 3.0.1 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png b/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png new file mode 100644 index 0000000000..c95f0daba2 Binary files /dev/null and b/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png differ diff --git a/apps/blog/public/prisma-migrate-dx-primitives/imgs/hero.svg b/apps/blog/public/prisma-migrate-dx-primitives/imgs/hero.svg new file mode 100644 index 0000000000..afbb4f49b6 --- /dev/null +++ b/apps/blog/public/prisma-migrate-dx-primitives/imgs/hero.svg @@ -0,0 +1,73 @@ + + Improving Prisma Migrate DX with two new commands + Table cover: a white panel headed prisma migrate diff listing the four schema sources the command can compare, with the migration history and live database rows tinted cyan and tagged from and to. + + + + + + + + + + + + + + + + + + + + + + Prisma Migrate + + + + Resolving failed + migrations + + + + + prisma migrate diff + Compares any two of these sources + + + Live database schema + from + Prisma data model + + Migration history + to + An empty database + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-migrate-dx-primitives/imgs/meta.png b/apps/blog/public/prisma-migrate-dx-primitives/imgs/meta.png new file mode 100644 index 0000000000..57ef3947fe Binary files /dev/null and b/apps/blog/public/prisma-migrate-dx-primitives/imgs/meta.png differ diff --git a/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg b/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg new file mode 100644 index 0000000000..964755fd3d --- /dev/null +++ b/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg @@ -0,0 +1,67 @@ + + Hassle-Free Database Migrations with Prisma Migrate + CodeWindow — the SQL migration Prisma Migrate generates from a Prisma schema, with the comment noting it can be edited before it runs. + + + + + + + + + + + + + + + + + + + Prisma Migrate + + + + + Schema in,SQL out + + Now generally available + + + + + + -- The SQL can be edited prior to execution + CREATE TABLE "User" ( + "id" SERIAL NOT NULL, + "email" TEXT NOT NULL, + PRIMARY KEY ("id") + ); + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png b/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png new file mode 100644 index 0000000000..26832d032d Binary files /dev/null and b/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png differ diff --git a/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg b/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg new file mode 100644 index 0000000000..34cbd72b8d --- /dev/null +++ b/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg @@ -0,0 +1,79 @@ + + Prisma Migrate Preview - Database Migrations Simplified + A three-step ledger of the Preview workflow for customizing a migration: create the SQL without applying it, edit it, then apply it. The edit step is highlighted. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Migrate Preview + + + + Edit the SQL before it runs + + + + + + 01 + prisma migrate dev --create-only + Generates the SQL without applying it + + + 02 + migration.sql + Edit it: rename a column instead of dropping it + + 03 + prisma migrate dev + Applies it and generates Prisma Client + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png b/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png new file mode 100644 index 0000000000..2fac36af42 Binary files /dev/null and b/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png differ diff --git a/apps/blog/public/prisma-mongodb-preview-release/imgs/hero.svg b/apps/blog/public/prisma-mongodb-preview-release/imgs/hero.svg new file mode 100644 index 0000000000..f8409ffa92 --- /dev/null +++ b/apps/blog/public/prisma-mongodb-preview-release/imgs/hero.svg @@ -0,0 +1,88 @@ + + Prisma 2.27 Adds Preview Support for MongoDB + Two panels compare MongoDB documents with differing field sets against the same documents defined and enforced by a Prisma schema, where every field carries a type. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + Prisma ORM 2.27 + + + + + A schema + for MongoDB + + + + + + + + + + + + + + documents + + + + + + + + + + + + + + + + + with a Prisma schema + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-mongodb-preview-release/imgs/meta.png b/apps/blog/public/prisma-mongodb-preview-release/imgs/meta.png new file mode 100644 index 0000000000..8a3065c553 Binary files /dev/null and b/apps/blog/public/prisma-mongodb-preview-release/imgs/meta.png differ diff --git a/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg b/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg new file mode 100644 index 0000000000..0743a7bb67 --- /dev/null +++ b/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg @@ -0,0 +1,73 @@ + + A Collaborative Data Browser for Your Database on the Web + An editorial table of the four project roles in the online data browser — Admin, Developer, Collaborator and Viewer — with what each may do, the Collaborator row tinted, under a spectral rule. + + + + + + + + + + + + + + + + + + + Collaborative data browser + + + + + + + + + + + + + Admin + All actions, including project settings + + Developer + Same as collaborator, for now + + Collaborator + View and edit data + + Viewer + View data + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png b/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png new file mode 100644 index 0000000000..50680328ad Binary files /dev/null and b/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png differ diff --git a/apps/blog/public/prisma-optimize-early-access/imgs/hero.svg b/apps/blog/public/prisma-optimize-early-access/imgs/hero.svg new file mode 100644 index 0000000000..39e8dfb61f --- /dev/null +++ b/apps/blog/public/prisma-optimize-early-access/imgs/hero.svg @@ -0,0 +1,72 @@ + + Explore insights and improve app performance with Prisma Optimize + CodeWindow: an ink code card showing the two lines that extend Prisma Client with the Optimize extension, with the withOptimize() call highlighted in a yellow-tinted row. + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Optimize + + + + See every query you send + + + + + + + + + import { withOptimize } from "@prisma/extension-optimize"; + const prisma = new PrismaClient() + .$extends(withOptimize()); + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-optimize-early-access/imgs/meta.png b/apps/blog/public/prisma-optimize-early-access/imgs/meta.png new file mode 100644 index 0000000000..68001e8fba Binary files /dev/null and b/apps/blog/public/prisma-optimize-early-access/imgs/meta.png differ diff --git a/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg b/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg new file mode 100644 index 0000000000..ddbdb7009d --- /dev/null +++ b/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg @@ -0,0 +1,55 @@ + + Prisma ORM 6.6.0: ESM Support, D1 Migrations & MCP Server + The version number 6.6.0 set at display size on light paper, lit from behind by a cyan bloom, with the release's three headline features named beneath it in mono: ESM, D1 migrations and MCP server. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + Prisma ORM release + + + + 6.6.0 + ESM · D1 migrations · MCP server + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png b/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png new file mode 100644 index 0000000000..301e3ba414 Binary files /dev/null and b/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png differ diff --git a/apps/blog/public/prisma-orm-manifesto/imgs/hero.svg b/apps/blog/public/prisma-orm-manifesto/imgs/hero.svg new file mode 100644 index 0000000000..79a3691673 --- /dev/null +++ b/apps/blog/public/prisma-orm-manifesto/imgs/hero.svg @@ -0,0 +1,65 @@ + + Prisma ORM Manifesto: Clarity and Collaboration + GradientField — a cyan mesh field carrying the manifesto's commitment that a Preview feature now reaches General Availability the following quarter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM governance + + + + Preview now means progress + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-orm-manifesto/imgs/meta.png b/apps/blog/public/prisma-orm-manifesto/imgs/meta.png new file mode 100644 index 0000000000..5fd84dd7be Binary files /dev/null and b/apps/blog/public/prisma-orm-manifesto/imgs/meta.png differ diff --git a/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg b/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg new file mode 100644 index 0000000000..7d12a9c7a3 --- /dev/null +++ b/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg @@ -0,0 +1,66 @@ + + Choosing the Best Join Strategy in Prisma ORM: join vs query + MetricComponent cover: the statement count for one relation query drops from two with the query strategy, one per table, to one with the join strategy, which merges the relation in the database. + + + + + + + + + + + + + + + + + + + + Relation load strategy + + + + Statements sent for one relation query + + 2 + + + 1 + + query + one query per table + + join + one statement, merged in the database + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png b/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png new file mode 100644 index 0000000000..a4e1434c12 Binary files /dev/null and b/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png differ diff --git a/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg b/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg new file mode 100644 index 0000000000..9c48d79dc5 --- /dev/null +++ b/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg @@ -0,0 +1,62 @@ + + Prisma ORM Support for Edge Functions is Now in Preview + An ink code card showing the three lines from the article's Cloudflare Worker: creating the PlanetScale client, wrapping it in the PrismaPlanetScale driver adapter, and passing that adapter to a new PrismaClient — the last line highlighted on a cyan bar. + + + + + + + + + + + + + + + + + + + Edge functions in Preview + + + + + src/index.ts + + + + + const client = new Client(config) + const adapter = new PrismaPlanetScale(client) + const prisma = new PrismaClient({ adapter }) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png b/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png new file mode 100644 index 0000000000..3b54ddfba2 Binary files /dev/null and b/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png differ diff --git a/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg b/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg new file mode 100644 index 0000000000..2a0eaf9b87 --- /dev/null +++ b/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg @@ -0,0 +1,71 @@ + + Prisma ORM v6.14.0, Relationships for SQL Views, More Robust Management API & More + Light paper cover: the headline "Relations across SQL views" at left, and an ink schema.prisma code card at right showing a view UserInfo block whose email field carries the @unique attribute, highlighted in cyan. + + + + + + + + + + + + + + + + + + + + + + Prisma ORM v6.14.0 + + + + Relations across + SQL views + @unique is back on view blocks + + + + + schema.prisma + + + view UserInfo { + email String @unique + name String + bio String + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png b/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png new file mode 100644 index 0000000000..d71930490b Binary files /dev/null and b/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png differ diff --git a/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg b/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg new file mode 100644 index 0000000000..ec54106d51 --- /dev/null +++ b/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg @@ -0,0 +1,60 @@ + + Prisma ORM without Rust: Latest Performance Benchmarks + MetricComponent — the heaviest benchmark query drops from 1539 ms on the Rust query engine to 136 ms on the Rust-free TypeScript query compiler. + + + + + + + + + + + + + + + + + + + + + Prisma ORM without Rust + + + + Rust query engine + 1539 ms + + 136 ms + Rust-free, findMany with a many-to-many include (2k rows) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png b/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png new file mode 100644 index 0000000000..66275d6872 Binary files /dev/null and b/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png differ diff --git a/apps/blog/public/prisma-postgres-free-during-early-access/imgs/hero.svg b/apps/blog/public/prisma-postgres-free-during-early-access/imgs/hero.svg new file mode 100644 index 0000000000..9ec576526b --- /dev/null +++ b/apps/blog/public/prisma-postgres-free-during-early-access/imgs/hero.svg @@ -0,0 +1,62 @@ + + Prisma Postgres is completely free during Early Access + A timeline: the Early Access stretch is a solid Postgres-yellow bar labelled "Free", ending at a milestone tick where the grey general-access segment begins in early 2025. + + + + + + + + + + + + + + + + + + + + + Prisma Postgres + + + + Free + + + + + + Early Access + Pricing arrives at GA · early 2025 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-postgres-free-during-early-access/imgs/meta.png b/apps/blog/public/prisma-postgres-free-during-early-access/imgs/meta.png new file mode 100644 index 0000000000..2509667fd0 Binary files /dev/null and b/apps/blog/public/prisma-postgres-free-during-early-access/imgs/meta.png differ diff --git a/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg b/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg new file mode 100644 index 0000000000..057edbd56f --- /dev/null +++ b/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg @@ -0,0 +1,87 @@ + + Prisma Postgres: Now in Your Favorite Environment + A flow diagram: a Prisma Postgres card on the left connects with yellow arrows to three environment tiles — Netlify, Project IDX, and a dashed Vercel Marketplace tile marked coming soon. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrations + + + + + + + + + + + + + + + + Prisma Postgres + + + Netlify + + + Project IDX + + + Vercel Marketplace + Coming soon + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png b/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png new file mode 100644 index 0000000000..7d036c6f82 Binary files /dev/null and b/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png differ diff --git a/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg b/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg new file mode 100644 index 0000000000..cff2b0fe65 --- /dev/null +++ b/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg @@ -0,0 +1,61 @@ + + Prisma Postgres: The Future of Serverless Databases + DatabaseObject: three layered elliptical planes standing for a Prisma Postgres instance, the top rim carrying a spectral edge, beside the claim that it is serverless without cold starts. Prisma blog cover, 2026 brand, Postgres yellow accent. + + + + + + + + + + + + + + + + + + Prisma Postgres + + + + + No cold starts + + Serverless Postgres, built on unikernels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png b/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png new file mode 100644 index 0000000000..fdd9bd23a8 Binary files /dev/null and b/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png differ diff --git a/apps/blog/public/prisma-preview-cockroach-db-release/imgs/hero.svg b/apps/blog/public/prisma-preview-cockroach-db-release/imgs/hero.svg new file mode 100644 index 0000000000..2b49ff78e0 --- /dev/null +++ b/apps/blog/public/prisma-preview-cockroach-db-release/imgs/hero.svg @@ -0,0 +1,58 @@ + + Prisma support for CockroachDB is now in Preview + TypeMark — the new datasource provider value cockroachdb set as the hero glyph, released in Preview with Prisma 3.9.0. + + + + + + + + + + + + + + + + + + + + CockroachDB connector + + + + provider = + cockroachdb + + Preview in Prisma 3.9.0 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-preview-cockroach-db-release/imgs/meta.png b/apps/blog/public/prisma-preview-cockroach-db-release/imgs/meta.png new file mode 100644 index 0000000000..e82fa12494 Binary files /dev/null and b/apps/blog/public/prisma-preview-cockroach-db-release/imgs/meta.png differ diff --git a/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg b/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg new file mode 100644 index 0000000000..720d2b5833 --- /dev/null +++ b/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg @@ -0,0 +1,58 @@ + + Prisma raises $4.5M to build the GraphQL data layer for all databases + MetricComponent family — the seed round size set as a giant numeral on paper, lit by a single red bloom, with the investor named beneath it. + + + + + + + + + + + + + + + + + + + + + GraphQL + + + + $4.5M + Seed round led by Kleiner Perkins + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png b/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png new file mode 100644 index 0000000000..382f8f63b1 Binary files /dev/null and b/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png differ diff --git a/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg b/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg new file mode 100644 index 0000000000..769cb933fe --- /dev/null +++ b/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg @@ -0,0 +1,64 @@ + + Prisma Raises $12M to Build the Next Generation of Database Tools + TypeMark cover: the figure $12M set large in Sora with the dollar sign in prism yellow, over a bottom spectral wash, captioned "Led by Amplify Partners". + + + + + + + + + + + + + + + + + + + + + + + + + + + Series A + + + + $12M + Led by Amplify Partners + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png b/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png new file mode 100644 index 0000000000..90e2bce070 Binary files /dev/null and b/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png differ diff --git a/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg b/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg new file mode 100644 index 0000000000..e7b0a33db2 --- /dev/null +++ b/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg @@ -0,0 +1,60 @@ + + Prisma Schema Language: The Best Way to Define Your Data + CodeWindow — the article's User model in Prisma Schema Language on an ink card, with the Post[] relation field highlighted. + + + + + + + + + + + + + + + + Prisma Schema Language + + + + + schema.prisma + + + model User { + id Int @id @default(autoincrement()) + email String @unique + name String? + posts Post[] + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png b/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png new file mode 100644 index 0000000000..3c09a85895 Binary files /dev/null and b/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png differ diff --git a/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg b/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg new file mode 100644 index 0000000000..5638ec14ce --- /dev/null +++ b/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg @@ -0,0 +1,110 @@ + + Prisma 2.10 Adds Preview Support for Microsoft SQL Server + ComparisonTable family — 2-4 cols, 3-5 rows, one highlighted row/cell. A white card listing the databases Prisma Client supported at 2.10 (PostgreSQL, MySQL, SQLite, MariaDB marked GA) with Microsoft SQL Server highlighted in prism cyan and marked Preview. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma 2.10 + + + + + + + PostgreSQL + GA + + MySQL + GA + + SQLite + GA + + MariaDB + GA + + + + Microsoft SQL Server + + Preview + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png b/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png new file mode 100644 index 0000000000..451456f0f3 Binary files /dev/null and b/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png differ diff --git a/apps/blog/public/prisma-startup-program/imgs/hero.svg b/apps/blog/public/prisma-startup-program/imgs/hero.svg new file mode 100644 index 0000000000..db4731a36d --- /dev/null +++ b/apps/blog/public/prisma-startup-program/imgs/hero.svg @@ -0,0 +1,58 @@ + + Helping Founders Scale Faster and Build Smarter + MetricComponent — the Prisma Startups Program's $10,000 in Prisma Postgres credits as a giant numeral on light paper, lit by a single yellow bloom. + + + + + + + + + + + + + + + + + + + + + Prisma Startups Program + + + + $10,000 + in Prisma Postgres credits for early-stage teams + covering the database bill for up to a year + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-startup-program/imgs/meta.png b/apps/blog/public/prisma-startup-program/imgs/meta.png new file mode 100644 index 0000000000..b1efc6569a Binary files /dev/null and b/apps/blog/public/prisma-startup-program/imgs/meta.png differ diff --git a/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/hero.svg b/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/hero.svg new file mode 100644 index 0000000000..bdd28f941f --- /dev/null +++ b/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/hero.svg @@ -0,0 +1,88 @@ + + Prisma Studio - A Visual Interface for Your Database + A white data-grid card with the columns id, email, name and posts; one cell in the name column is in edit focus with a cyan ring and caret, lit by a cyan radial bloom. + + + + + + + + + + + + + + + + + + + + + + Prisma Studio + + + + + + + id + email + name + posts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/meta.png b/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/meta.png new file mode 100644 index 0000000000..cce0163692 Binary files /dev/null and b/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/meta.png differ diff --git a/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg b/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg new file mode 100644 index 0000000000..f9cbae33ac --- /dev/null +++ b/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg @@ -0,0 +1,78 @@ + + The Complete ORM for Node.js & TypeScript + PrismObject — one Prisma schema refracts through a prism into the three tools that make up the complete ORM: Prisma Client, Prisma Migrate and Prisma Studio. Prisma blog cover, light paper surface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + + schema.prisma + + + + + + + + + + + Prisma Client + Prisma Migrate + Prisma Studio + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png b/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png new file mode 100644 index 0000000000..bc1b6d97fc Binary files /dev/null and b/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png differ diff --git a/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg b/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg new file mode 100644 index 0000000000..1e7d0e3791 --- /dev/null +++ b/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg @@ -0,0 +1,76 @@ + + SQLite on the Edge: Prisma Support for Turso is in Early Access + ArchitectureFlow — Prisma Client reaches Turso's edge-hosted libSQL through the PrismaLibSQL driver adapter, with the HTTP hop drawn as the hero beam. + + + + + + + + + + + + + + + + + + + + Early Access + + + + Incompatible, until now + + + + + Prisma Client + @prisma/client + + + + + + PrismaLibSQL + driver adapter + + over HTTP + + + + + Turso + edge-hosted libSQL + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png b/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png new file mode 100644 index 0000000000..b62847e5b3 Binary files /dev/null and b/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png differ diff --git a/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg b/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg new file mode 100644 index 0000000000..5c9ed257dc --- /dev/null +++ b/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg @@ -0,0 +1,98 @@ + + Introducing the Read Replicas Extension for Prisma Client + ArchitectureFlow: Prisma Client routes read queries along an accent beam to two read replicas while write queries follow a neutral connector to the primary database. + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Client extension + + + + Reads go to replicas + + + + + + + + + + + + + + + + + + Prisma Client + + + + + + Primary + writes + + + + + + Replica + reads + + + + + Replica + reads + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png b/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png new file mode 100644 index 0000000000..a51fc13fe3 Binary files /dev/null and b/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png differ diff --git a/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg b/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg new file mode 100644 index 0000000000..4d8624cf17 --- /dev/null +++ b/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg @@ -0,0 +1,59 @@ + + Relay Modern’s @connection directive + An ink code card showing two lines from the Relay Modern Todo example: the todos field annotated with @connection(key: "TodoList_todos"), and ConnectionHandler.getConnection(userProxy, 'TodoList_todos') in the add-todo mutation. The shared cache key is highlighted in both lines. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + GraphQL + + + + + TodoList.js + todos(first: 2147483647) @connection(key: "TodoList_todos") { + + AddTodoMutation.js + ConnectionHandler.getConnection(userProxy, 'TodoList_todos') + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png b/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png new file mode 100644 index 0000000000..8c3f86e6fd Binary files /dev/null and b/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png differ diff --git a/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg b/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg new file mode 100644 index 0000000000..25e9118341 --- /dev/null +++ b/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg @@ -0,0 +1,87 @@ + + Relay vs Apollo - Comparing GraphQL clients for React apps + A comparison card on light paper contrasting Relay and Apollo across flexibility, difficulty, frameworks and subscriptions, with the flexibility row highlighted in yellow. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL clients + + + + + + Relay + Apollo + + + + + Flexibility + Fixed structure + Very flexible + + Difficulty + High entry barrier + Easy to get started + + Frameworks + React, React Native + Framework agnostic + + Subscriptions + No support yet + Supported + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png b/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png new file mode 100644 index 0000000000..360591731e Binary files /dev/null and b/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png differ diff --git a/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/hero.svg b/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/hero.svg new file mode 100644 index 0000000000..7b42610c94 --- /dev/null +++ b/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/hero.svg @@ -0,0 +1,63 @@ + + Restructuring Prisma + A quiet letterhead composition: the full-colour Prisma lockup centred on paper above a hairline rule, with a soft prism field along the lower edge. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + A note to the team + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/meta.png b/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/meta.png new file mode 100644 index 0000000000..fc7ffd4ec6 Binary files /dev/null and b/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/meta.png differ diff --git a/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg b/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg new file mode 100644 index 0000000000..98e3484af9 --- /dev/null +++ b/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg @@ -0,0 +1,61 @@ + + Rust-free Prisma ORM is Ready for Production + The figure ~90% set large, labelled as the bundle-size reduction that comes from removing the Rust engine from Prisma ORM. + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM 6.16.0 + + + + ~90% + smaller bundle, now that the Rust engine is gone + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png b/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png new file mode 100644 index 0000000000..cd27d9246a Binary files /dev/null and b/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png differ diff --git a/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg b/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg new file mode 100644 index 0000000000..7952d4c99c --- /dev/null +++ b/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg @@ -0,0 +1,76 @@ + + Rust to TypeScript Update: Boosting Prisma ORM Performance + HeroChart — two columns compare the same findMany benchmark over 25,000 records: 185 ms on the Rust query engine against 55 ms on the new Query Compiler, 3.4 times faster. Prisma blog cover, light paper surface, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + + 185 ms + + Rust engine + + + 55 ms + + Query Compiler + + + + + + 3.4× faster + findMany over 25,000 records + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png b/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png new file mode 100644 index 0000000000..dc07319924 Binary files /dev/null and b/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png differ diff --git a/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg b/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg new file mode 100644 index 0000000000..cb36f46d05 --- /dev/null +++ b/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg @@ -0,0 +1,63 @@ + + How TypeScript 4.9 `satisfies` Your Prisma Workflows + An ink code card on paper showing a Prisma select object typed with the TypeScript 4.9 satisfies operator, the satisfies keyword picked out in cyan, lit by a single cyan bloom. + + + + + + + + + + + + + + + + + + + TypeScript 4.9 + + + + Type inference, + no runtime cost + + + + + const postSelect = { + title: true, + createdAt: true, + } satisfies Prisma.PostSelect + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png b/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png new file mode 100644 index 0000000000..efb30c7dde Binary files /dev/null and b/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png differ diff --git a/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/hero.svg b/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/hero.svg new file mode 100644 index 0000000000..d347554229 --- /dev/null +++ b/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/hero.svg @@ -0,0 +1,89 @@ + + Saving Black Friday With Connection Pooling + A flat diagram on light paper: seven serverless function tiles fan into a single connection pool card labelled Prisma Accelerate, which sends one pooled connection along a red beam to a stacked PostgreSQL volume. + + + + + + + + + + + + + + + + + + + + + Connection pooling + + + + + + + + + + + + + + + + + + + + + + + serverless functions + + + Connection pool + Prisma Accelerate + + + + + + + + + + PostgreSQL + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/meta.png b/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/meta.png new file mode 100644 index 0000000000..7e86d7ba59 Binary files /dev/null and b/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/meta.png differ diff --git a/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg b/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg new file mode 100644 index 0000000000..c175458756 --- /dev/null +++ b/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg @@ -0,0 +1,75 @@ + + Securely Access Prisma Postgres from the Frontend (Early Access) + CodeWindow: an ink card holding the defineRules configuration from the post, with the isAuthenticated permission line highlighted in Postgres yellow. + + + + + + + + + + + + + + + + + + + + + + prisma/rules.ts + + + export default defineRules({ + rules: { + $allModels: false, + message: { + read: true, + create({ context }) { + return isAuthenticated(context.userId) + }, + + + + + Security rules, Early Access + + + + Rules, + not secrets + Query Prisma Postgres + straight from the browser + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png b/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png new file mode 100644 index 0000000000..f08de5503f Binary files /dev/null and b/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png differ diff --git a/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/hero.svg b/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/hero.svg new file mode 100644 index 0000000000..5e475f702a --- /dev/null +++ b/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/hero.svg @@ -0,0 +1,84 @@ + + Prisma Raises $40M to Build the Application Data Platform + TypeMark / MetricComponent family — typography or one number is the hero. The Series B round size set as a giant numeral on paper, with the Prisma logo three prism stripes crossing the bottom-right corner. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Series B + + + + + $40M + led by Altimeter + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/meta.png b/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/meta.png new file mode 100644 index 0000000000..323e973b73 Binary files /dev/null and b/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/meta.png differ diff --git a/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg b/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg new file mode 100644 index 0000000000..4ce367abf7 --- /dev/null +++ b/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg @@ -0,0 +1,83 @@ + + Support for Serverless Database Drivers in Prisma ORM Is Now in Preview + A flat three-node flow on paper: Prisma Client to a driver adapter to Neon and PlanetScale, with the adapter tile picked out in prism cyan and the final hop captioned HTTP / WebSocket — the connection path that replaces a long-lived TCP socket. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + No TCP connection required + + + + + Prisma Client + + + + + + Driver adapter + + + + HTTP / WebSocket + + + Neon · PlanetScale + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png b/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png new file mode 100644 index 0000000000..df4c4ab74e Binary files /dev/null and b/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png differ diff --git a/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg b/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg new file mode 100644 index 0000000000..d08592f9c1 --- /dev/null +++ b/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg @@ -0,0 +1,98 @@ + + State of Prisma 2 (December 2019) + A roadmap ledger on light paper: Photon.js production-ready in Q1 2020 (highlighted), Lift in Q2 2020, and Prisma 2 tooling by mid 2020. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma 2 roadmap + + + + + Prisma 2 tool + Production-ready + + + + + Photon.js + type-safe database client + Q1 2020 + + Lift + declarative migrations + Q2 2020 + + Tooling + Studio · CLI · IDE plugins + Mid 2020 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png b/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png new file mode 100644 index 0000000000..9907b5dbc5 Binary files /dev/null and b/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png differ diff --git a/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg b/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg new file mode 100644 index 0000000000..2ea14d3fc2 --- /dev/null +++ b/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg @@ -0,0 +1,77 @@ + + Studio for Prisma Postgres (Preview): View & Edit Your Data Online + Light paper cover: a stacked-plane Prisma Postgres volume on the left whose top plane lifts away, tinted Postgres yellow, beside the line "Your data, in the browser" and the note that Studio is now in the Platform Console. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Studio + + + + Your data, + in the browser + Now in the Platform Console + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png b/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png new file mode 100644 index 0000000000..40db417d85 Binary files /dev/null and b/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png differ diff --git a/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg b/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg new file mode 100644 index 0000000000..0567242827 --- /dev/null +++ b/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg @@ -0,0 +1,70 @@ + + Adding Database Access to your SvelteKit App with Prisma + A dark code card on light paper showing the SvelteKit server load function from the article, querying published posts with Prisma Client. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + SvelteKit + Prisma ORM + + + + + src/routes/+page.server.ts + + + export const load = (async () => { + const response = await prisma.post.findMany({ + where: { published: true }, + include: { author: true }, + }) + return { feed: response } + }) + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png b/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png new file mode 100644 index 0000000000..b8d855c9fb Binary files /dev/null and b/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png differ diff --git a/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/hero.svg b/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/hero.svg new file mode 100644 index 0000000000..fd34670588 --- /dev/null +++ b/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/hero.svg @@ -0,0 +1,71 @@ + + The Ultimate Guide to Testing with Prisma: Mocking Prisma Client + CodeWindow — the manual mock file from the article: mockDeep from vitest-mock-extended returns a deep mock of Prisma Client, so unit tests run without a database. Prisma blog cover, light paper surface, ink code card, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + Testing with Prisma + + + + Unit tests without a database + + + + + src/lib/__mocks__/prisma.ts + + + + + import { mockDeep, mockReset } from 'vitest-mock-extended' + import type { PrismaClient } from '../../generated/prisma/client' + const prisma = mockDeep<PrismaClient>() + export default prisma + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/meta.png b/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/meta.png new file mode 100644 index 0000000000..b94f821515 Binary files /dev/null and b/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/meta.png differ diff --git a/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/hero.svg b/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/hero.svg new file mode 100644 index 0000000000..8fbc3603f4 --- /dev/null +++ b/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/hero.svg @@ -0,0 +1,66 @@ + + The Ultimate Guide to Testing with Prisma: Unit Testing + A two-column ledger of the example app's files: the tags service earns a unit test, while the router and the thin Prisma Client wrapper are skipped. + + + + + + + + + + + + + + + + + + + Testing with Prisma ORM + + + + + + + Unit test + tags.service.ts + Custom logic: upsertTags, deleteOrphanedTags + + + Skip + quotes.router.ts + Only wires framework calls together + quotes.service.ts + Forwards straight to Prisma Client + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/meta.png b/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/meta.png new file mode 100644 index 0000000000..405d21de66 Binary files /dev/null and b/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/meta.png differ diff --git a/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/hero.svg b/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/hero.svg new file mode 100644 index 0000000000..d7b88fd38f --- /dev/null +++ b/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/hero.svg @@ -0,0 +1,77 @@ + + The Ultimate Guide to Testing with Prisma: Integration Testing + DatabaseObject — integration tests run against a real local Prisma Postgres database, with a loop showing resetDb() clearing every table before each test. Prisma blog cover, light paper surface, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + Testing with Prisma + + + + + No mocks, + a real database + + Vitest, Supertest and a local Prisma Postgres + + + + + + + + + + + + + + resetDb() + runs before every test + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/meta.png b/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/meta.png new file mode 100644 index 0000000000..9ba4263318 Binary files /dev/null and b/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/meta.png differ diff --git a/apps/blog/public/testing-series-4-OVXtDis201/imgs/hero.svg b/apps/blog/public/testing-series-4-OVXtDis201/imgs/hero.svg new file mode 100644 index 0000000000..ffc58b46b3 --- /dev/null +++ b/apps/blog/public/testing-series-4-OVXtDis201/imgs/hero.svg @@ -0,0 +1,80 @@ + + The Ultimate Guide to Testing with Prisma: End-To-End Testing + Playwright reporter panel listing the five passing end-to-end auth tests written in the article. + + + + + + + + + + + + + + + + + + + + + + End-to-end testing + + + + Playwright drives the real UI + + + + + e2e/tests/auth.spec.ts + + 5 passed + + + + should redirect unauthorized user to the login page + + + should warn you if your login is incorrect + + + should warn you if your form is empty + + + should redirect to the home page when a new account is created + + + should redirect to the home page after signing in + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/testing-series-4-OVXtDis201/imgs/meta.png b/apps/blog/public/testing-series-4-OVXtDis201/imgs/meta.png new file mode 100644 index 0000000000..63fae9be58 Binary files /dev/null and b/apps/blog/public/testing-series-4-OVXtDis201/imgs/meta.png differ diff --git a/apps/blog/public/testing-series-5-xWogenROXm/imgs/hero.svg b/apps/blog/public/testing-series-5-xWogenROXm/imgs/hero.svg new file mode 100644 index 0000000000..b45a95a8af --- /dev/null +++ b/apps/blog/public/testing-series-5-xWogenROXm/imgs/hero.svg @@ -0,0 +1,84 @@ + + The Ultimate Guide to Testing with Prisma: CI Pipelines + A flat flow diagram: a dark pull_request node fans out along a cyan beam into three GitHub Actions job tiles — unit-tests (no database), integration-tests (postgres:17) and e2e-tests (postgres:17 + Playwright). Headline "Tested before merge". Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + Testing with Prisma ORM + + + + Tested before merge + + + + + pull_request + + + + + + + + + + + + + unit-tests + + no database + + integration-tests + + postgres:17 + + e2e-tests + + postgres:17 + Playwright + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/testing-series-5-xWogenROXm/imgs/meta.png b/apps/blog/public/testing-series-5-xWogenROXm/imgs/meta.png new file mode 100644 index 0000000000..ecdeb1db40 Binary files /dev/null and b/apps/blog/public/testing-series-5-xWogenROXm/imgs/meta.png differ diff --git a/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg b/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg new file mode 100644 index 0000000000..0bbfc93ede --- /dev/null +++ b/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg @@ -0,0 +1,73 @@ + + The Guild Takes over Development of the GraphQL CLI & Other Libraries + Four package names — graphql-cli, graphql-config, graphql-import and graphql-binding — bracketed together on light paper and handed along a yellow arrow to their new maintainer, The Guild. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + Open source + + + + graphql-cli + graphql-config + graphql-import + graphql-binding + + + + + + + New maintainer + The Guild + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png b/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png new file mode 100644 index 0000000000..196b476980 Binary files /dev/null and b/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png differ diff --git a/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg b/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg new file mode 100644 index 0000000000..bc40397ea9 --- /dev/null +++ b/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg @@ -0,0 +1,81 @@ + + The Problems of "Schema-First" GraphQL Server Development + A two-row card contrasting SDL-first, where schema.graphql is written first and resolvers must match it, with code-first, where resolver code comes first and schema.graphql is a generated artifact. + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL server development + + + + Where the schema comes from + + + + + + + + SDL-first + resolvers must match the SDL + schema.graphql + + + resolvers + + Code-first + the SDL is a generated artifact + resolver code + + + schema.graphql + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png b/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png new file mode 100644 index 0000000000..6ae9c360df Binary files /dev/null and b/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png differ diff --git a/apps/blog/public/top-5-myths-about-prisma-orm/imgs/hero.svg b/apps/blog/public/top-5-myths-about-prisma-orm/imgs/hero.svg new file mode 100644 index 0000000000..8420c91baa --- /dev/null +++ b/apps/blog/public/top-5-myths-about-prisma-orm/imgs/hero.svg @@ -0,0 +1,76 @@ + + Top 5 Myths about Prisma ORM + A numbered list of the five myths the article debunks — Prisma ORM is slow, you can't use low-level DB features, it uses GraphQL under the hood, Prisma Client must live in node_modules, it doesn't work well with serverless — each line struck through in cyan on light paper. + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + 01 + Prisma ORM is slow + + 02 + You can't use low-level DB features + + 03 + It uses GraphQL under the hood + + 04 + Prisma Client must live in node_modules + + 05 + It doesn't work well with serverless + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/top-5-myths-about-prisma-orm/imgs/meta.png b/apps/blog/public/top-5-myths-about-prisma-orm/imgs/meta.png new file mode 100644 index 0000000000..30542ee749 Binary files /dev/null and b/apps/blog/public/top-5-myths-about-prisma-orm/imgs/meta.png differ diff --git a/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg b/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg new file mode 100644 index 0000000000..9d1de3a428 --- /dev/null +++ b/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg @@ -0,0 +1,108 @@ + + Reasons to use GraphQL | Top 5 Reasons Why and How to use GraphQL + ComparisonTable family — 2-4 cols, 3-5 rows, one highlighted row/cell. A white card standing in for a REST profile endpoint: name and birthday are used, while address and billing are struck through in prism red as overfetched data. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL + + + + + Only the fields + you asked for + + + + + + + GET /users/<id> + + name + birthday + address + + billing + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png b/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png new file mode 100644 index 0000000000..c18770f013 Binary files /dev/null and b/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png differ diff --git a/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg b/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg new file mode 100644 index 0000000000..22d0fe3891 --- /dev/null +++ b/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg @@ -0,0 +1,69 @@ + + Prisma Support for Tracing and Metrics Is Now in Preview + A trace waterfall on light paper: a 10 ms Prisma query containing a 7 ms Prisma engine span and two 3 ms database query spans, the breakdown Prisma tracing produces. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + Tracing in Preview + + + + + Prisma query + 10 ms + + + Prisma engine + 7 ms + + + Database query + 3 ms + + + Database query + 3 ms + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png b/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png new file mode 100644 index 0000000000..9cf6e62f20 Binary files /dev/null and b/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png differ diff --git a/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg b/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg new file mode 100644 index 0000000000..bb2424b121 --- /dev/null +++ b/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg @@ -0,0 +1,71 @@ + + Monitor Your Server with Tracing Using OpenTelemetry & Prisma + A three-row span waterfall: the root span GET /users/random, the nested prisma.user.findmany span highlighted in cyan, and its prisma:engine child — the trace the tutorial builds with OpenTelemetry and Prisma's tracing feature. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + OpenTelemetry tracing + + + + Inside a single trace + + + + + GET /users/random + + + prisma.user.findmany + + + prisma:engine + + + + elapsed time + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png b/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png new file mode 100644 index 0000000000..cff9742f00 Binary files /dev/null and b/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png differ diff --git a/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg b/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg index 9c102796ca..e9abfe5111 100644 --- a/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg +++ b/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg @@ -1 +1,68 @@ - \ No newline at end of file + + Try Prisma: The Fastest Way to Explore Prisma Examples + TypeMark — the npx try-prisma command set in large mono on light paper, with three real prisma-examples project paths as chips beneath it. + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + npx try-prisma + + + + + javascript/graphql + + typescript/rest-nestjs + + typescript/grpc + + + Sets up any official Prisma example project locally + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png b/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png index 83e99097a1..a9a32f23e4 100644 Binary files a/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png and b/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png differ diff --git a/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg b/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg new file mode 100644 index 0000000000..b15d790e38 --- /dev/null +++ b/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg @@ -0,0 +1,68 @@ + + Try the New "Rust-free" Version of Prisma ORM (Early Access) + Two squares scaled by area compare the Prisma ORM bundle before and after the Rust engine was removed: a large pale square labelled 14 MB with Rust engines, and a small cyan square inside it labelled 1.6 MB query compiler. + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + Same ORM, + 90% smaller + + + + + + + 14 MB + Rust engines + + 1.6 MB + Query compiler + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png b/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png new file mode 100644 index 0000000000..2e8674effe Binary files /dev/null and b/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png differ diff --git a/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg b/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg new file mode 100644 index 0000000000..60cb6d3336 --- /dev/null +++ b/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg @@ -0,0 +1,88 @@ + + How Tryg has leveraged Prisma to democratize data + A flat merge diagram on paper: five hairline streams labelled "Billions of records" converge into a single cyan-tinted card reading "Canonical model / schema.prisma", which feeds one arrow into a white card reading "GraphQL API / generated resolvers". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Customer story + + + + Many sources, one data model + + + + + + + + + Billions of records + + + + + + Canonical model + schema.prisma + + + + + + GraphQL API + generated resolvers + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png b/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png new file mode 100644 index 0000000000..3e170b7e4a Binary files /dev/null and b/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png differ diff --git a/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg b/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg new file mode 100644 index 0000000000..c49543c0d5 --- /dev/null +++ b/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg @@ -0,0 +1,89 @@ + + Tutorial: Building a Realtime GraphQL Server with Subscriptions + Two lanes on light paper contrast a GraphQL query or mutation, which returns once, with a subscription, which keeps a long-lived connection open while the server pushes CREATED, UPDATED and DELETED events back to the client. Prisma blog cover, 2026 brand, red accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + GraphQL subscriptions + + + + + Query or mutation + + Client + + Server + + + + + + + Subscription + + Client + + Server + + long-lived connection + + + + + + + + CREATED · UPDATED · DELETED + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png b/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png new file mode 100644 index 0000000000..216bcf15ff Binary files /dev/null and b/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png differ diff --git a/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg b/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg new file mode 100644 index 0000000000..31589ffdd4 --- /dev/null +++ b/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg @@ -0,0 +1,68 @@ + + Tutorial: Render Props in React Apollo 2.1 + Type-led cover: the definition of a render prop — a prop whose value is a function — set large in Sora with "a function" in prism red, over a mono line naming the Query, Mutation and Subscription components. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + React Apollo 2.1 + + + + + A prop whose value + is a function + + + + + <Query> <Mutation> <Subscription> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png b/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png new file mode 100644 index 0000000000..b651aeb103 Binary files /dev/null and b/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png differ diff --git a/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg b/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg new file mode 100644 index 0000000000..5d165970e6 --- /dev/null +++ b/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg @@ -0,0 +1,73 @@ + + How to use create-react-native-app with GraphQL & Apollo + The line "View and post images" over an ink code card holding the tutorial's Apollo feed query, allPosts sorted by createdAt_DESC returning id, imageUrl and description, with the query keyword in prism red. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + React Native + Apollo + + + + View and post images + + + + + query allPosts { + allPosts(orderBy: createdAt_DESC) { + id + imageUrl + description + } + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png b/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png new file mode 100644 index 0000000000..a84d3e417e Binary files /dev/null and b/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png differ diff --git a/apps/blog/public/tweets-for-trees-arboreal/imgs/hero.svg b/apps/blog/public/tweets-for-trees-arboreal/imgs/hero.svg new file mode 100644 index 0000000000..11a9d833e3 --- /dev/null +++ b/apps/blog/public/tweets-for-trees-arboreal/imgs/hero.svg @@ -0,0 +1,73 @@ + + Announcing Tweets for Trees + A single geometric tree built from three stacked triangles in the Prisma prism colours stands on a hairline ground line beside the line "One tweet, one tree" — Prisma planted a tree for every tweet mentioning it in April 2021. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + + + + + + Tweets for trees + + + + One tweet, + one tree + April 2021, planted through + Tree-Nation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/tweets-for-trees-arboreal/imgs/meta.png b/apps/blog/public/tweets-for-trees-arboreal/imgs/meta.png new file mode 100644 index 0000000000..3d3af052ba Binary files /dev/null and b/apps/blog/public/tweets-for-trees-arboreal/imgs/meta.png differ diff --git a/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg b/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg new file mode 100644 index 0000000000..a562850f43 --- /dev/null +++ b/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg @@ -0,0 +1,94 @@ + + Type-safe JavaScript with JsDoc + CodeWindow family — real article code as editorial typography. A single JsDoc annotation set as large mono type: the @type {string} comment above a plain let firstName declaration, with @type in prism cyan. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JavaScript type safety + + + + + /** @type {string} */ + let firstName; + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png b/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png new file mode 100644 index 0000000000..d363821356 Binary files /dev/null and b/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png differ diff --git a/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg b/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg new file mode 100644 index 0000000000..a5ae99ed4d --- /dev/null +++ b/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg @@ -0,0 +1,64 @@ + + Using GraphQL Nexus with a Database + A single ink code card on paper carrying the article's nexus-prisma snippet: const Query = prismaObjectType with definition: t => t.prismaFields(['*']), the definition line picked out with a prism-red tinted row and the wildcard ['*'] in prism red. + + + + + + + + + + + + + + + + + + + + + + GraphQL Nexus + + + + + + + // Expose the full "Query" building block + const Query = prismaObjectType({ + name: 'Query', + definition: t => t.prismaFields(['*']) + }) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png b/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png new file mode 100644 index 0000000000..69b888b34b Binary files /dev/null and b/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png differ diff --git a/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg b/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg new file mode 100644 index 0000000000..50aa773b82 --- /dev/null +++ b/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg @@ -0,0 +1,80 @@ + + Vibe Coding with Limits — How to Build Apps in the Age of AI + A horizontal spectrum of AI coding tools, from AI-assisted coding through prompt-first tools to no-code platforms, with the accent fading as abstraction rises. + + + + + + + + + + + + + + + + + + + + + + + + + + AI coding tools + + + + + More abstraction, + less control + + + + + + + + + + + AI-assisted coding + Prompt-first, code access + No-code platforms + + Claude Code · Cursor + Lovable · v0 · Bolt + Bubble · Glide · Gamma + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png b/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png new file mode 100644 index 0000000000..5c35792176 Binary files /dev/null and b/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png differ diff --git a/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg b/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg new file mode 100644 index 0000000000..e6290e6dd8 --- /dev/null +++ b/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg @@ -0,0 +1,69 @@ + + Vibe Coding an E-commerce App with Prisma MCP and Next.js + The article's AI-generated Prisma schema on an ink code card, with the one-to-many category relation highlighted. + + + + + + + + + + + + + + + + + + + + + Prisma MCP + + + + The AI wrote the schema + + + + + + + // prisma/schema.prisma + model Product { + name String + price Decimal @db.Decimal(10, 2) + categoryId Int + category Category @relation(fields: [categoryId], references: [id]) + } + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png b/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png new file mode 100644 index 0000000000..4bbb551c4f Binary files /dev/null and b/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png differ diff --git a/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/hero.svg b/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/hero.svg new file mode 100644 index 0000000000..fd9d02b75c --- /dev/null +++ b/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/hero.svg @@ -0,0 +1,61 @@ + + Improving the Prisma Visual Studio Code Extension with WebAssembly + A metric cover: 22 compilation targets for the prisma-fmt engine binary give way to a single WebAssembly module, with the numeral one underlined by a prism spectrum edge. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + Prisma VS Code extension + + + + 22 + compilation targets + + + + + 1 + + Wasm module + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/meta.png b/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/meta.png new file mode 100644 index 0000000000..93c8fa1688 Binary files /dev/null and b/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/meta.png differ diff --git a/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg b/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg new file mode 100644 index 0000000000..7132ee46f2 --- /dev/null +++ b/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg @@ -0,0 +1,65 @@ + + Watch the Talks from Prisma Day 2019! + A giant numeral 13 on light paper beside the line "talks, now online" — the thirteen talks from Prisma Day 2019, Prisma's one-day conference in Berlin, are published as videos. Prisma blog cover, 2026 brand, yellow accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Day 2019 + + + + 13 + talks, now online + Berlin · June 19, 2019 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png b/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png new file mode 100644 index 0000000000..543982162f Binary files /dev/null and b/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png differ diff --git a/apps/blog/public/we-made-prisma-studio-even-better/imgs/hero.svg b/apps/blog/public/we-made-prisma-studio-even-better/imgs/hero.svg new file mode 100644 index 0000000000..726011959c --- /dev/null +++ b/apps/blog/public/we-made-prisma-studio-even-better/imgs/hero.svg @@ -0,0 +1,95 @@ + + We Made Prisma Studio Even Better + An abstracted data table on paper with one row picked out in prism cyan, and a taller record panel sliding in over it from the right — the Studio update that lets you open a record in a side panel instead of scrolling a wide table. + + + + + + + + + + + + + + + + + + + + + + + + + Prisma Studio + + + + Edit a row in a side panel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/we-made-prisma-studio-even-better/imgs/meta.png b/apps/blog/public/we-made-prisma-studio-even-better/imgs/meta.png new file mode 100644 index 0000000000..907f061e69 Binary files /dev/null and b/apps/blog/public/we-made-prisma-studio-even-better/imgs/meta.png differ diff --git a/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg b/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg new file mode 100644 index 0000000000..ad06c368f9 --- /dev/null +++ b/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg @@ -0,0 +1,55 @@ + + What's new in Prisma? (Q1/21) + A typographic cover on light paper: the word "Migrate" set very large in ink, underscored by a full-width spectral rule, with the note that Prisma Migrate became generally available in Q1 2021. + + + + + + + + + + + + + + + + + + What's new in Prisma · Q1 2021 + + + + Migrate + + Prisma Migrate is generally available + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png b/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png new file mode 100644 index 0000000000..faf996390f Binary files /dev/null and b/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png differ diff --git a/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg b/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg new file mode 100644 index 0000000000..745e22de68 --- /dev/null +++ b/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg @@ -0,0 +1,77 @@ + + What's new in Prisma? (Q2/21) + A white release panel on paper listing what Prisma shipped between April and June 2021 - Data Browser in Early Access, referential actions in Preview, prisma db push generally available (highlighted in yellow) and JSON filtering in Preview. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + + Q2 2021 releases + + + + + + + + + + Data Browser + + Early Access + + Referential actions + + Preview + + prisma db push + + Generally available + + JSON filtering + + Preview + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png b/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png new file mode 100644 index 0000000000..575bfbc0ce Binary files /dev/null and b/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png differ diff --git a/apps/blog/public/why-prisma-2024/imgs/hero.svg b/apps/blog/public/why-prisma-2024/imgs/hero.svg new file mode 100644 index 0000000000..989f249c7e --- /dev/null +++ b/apps/blog/public/why-prisma-2024/imgs/hero.svg @@ -0,0 +1,61 @@ + + Why Use Prisma to Build Your Data Layer in 2024? + TypeMark: the words Beyond the ORM set large in Sora, with ORM filled by the Prisma spectrum gradient, beside a quiet rule listing Accelerate, Optimize and Studio. + + + + + + + + + + + + + + + + + + + + Prisma data layer + + + + Beyond + the ORM + + + Accelerate + Optimize + Studio + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/why-prisma-2024/imgs/meta.png b/apps/blog/public/why-prisma-2024/imgs/meta.png new file mode 100644 index 0000000000..13982fc2af Binary files /dev/null and b/apps/blog/public/why-prisma-2024/imgs/meta.png differ diff --git a/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg b/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg new file mode 100644 index 0000000000..2e7d5cb49f --- /dev/null +++ b/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg @@ -0,0 +1,76 @@ + + Why Prisma ORM Checks Types Faster Than Drizzle + A two-column comparison card on light paper: the schema benchmark's type instantiations (428 for Prisma ORM, 41,150 for Drizzle ORM) and check time (205 ms against 602 ms), with the Prisma ORM column tinted cyan under a spectral edge. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + + + Type performance + + + + + + + + + + Prisma ORM + Drizzle ORM + + Type instantiations + 428 + 41,150 + + + + Check time + 205 ms + 602 ms + + + + Schema benchmark · Drizzle ORM 0.44.4 · @ark/attest + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png b/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png new file mode 100644 index 0000000000..3a9203a55c Binary files /dev/null and b/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png differ diff --git a/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg b/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg new file mode 100644 index 0000000000..80eef4a4fd --- /dev/null +++ b/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg @@ -0,0 +1,75 @@ + + Where Prisma ORM Generates Client Code (and Why) + Two path rows compared: the struck-through node_modules/.prisma/client location used before Prisma ORM v7, and the live src/generated/prisma output path used today. Prisma blog cover, 2026 brand, cyan accent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM + + + + Generated into your source + + + + + node_modules/.prisma/client + + before v7 + + + src/generated/prisma + Prisma ORM v7 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png b/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png new file mode 100644 index 0000000000..ecd5b74334 Binary files /dev/null and b/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png differ diff --git a/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg b/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg new file mode 100644 index 0000000000..4ae8545295 --- /dev/null +++ b/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg @@ -0,0 +1,54 @@ + + Why SiteGPT Chose Prisma Postgres for Scalable AI-Powered Chatbots + A single large figure — 10M+ database operations a day — set on light paper with a yellow Prisma Postgres glow, the scale SiteGPT's AI chatbots run at on Prisma Postgres. Prisma blog cover, 2026 brand. + + + + + + + + + + + + + + + + + + + SiteGPT on Prisma Postgres + + + + 10M+ + database operations a day + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png b/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png new file mode 100644 index 0000000000..fd8e5c8a7a Binary files /dev/null and b/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png differ diff --git a/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg b/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg new file mode 100644 index 0000000000..076299401c --- /dev/null +++ b/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg @@ -0,0 +1,67 @@ + + Why the Prisma CLI Asks for Your Feedback + An ink terminal card on light paper showing the Prisma CLI survey prompt asking how likely you are to recommend Prisma, with a cyan input caret and a note that pressing Enter skips it. + + + + + + + + + + + + + + + + + + + + + + Prisma CLI + + + + + + + ? + How likely would you be to recommend Prisma? + 0 = not at all likely, 10 = extremely likely + + + + + Enter to skip · not asked again for 3 months + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png b/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png new file mode 100644 index 0000000000..d58cd29eb1 Binary files /dev/null and b/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png differ diff --git a/apps/blog/public/wnip-q1-dsk0golh8v/imgs/hero.svg b/apps/blog/public/wnip-q1-dsk0golh8v/imgs/hero.svg new file mode 100644 index 0000000000..907970cede --- /dev/null +++ b/apps/blog/public/wnip-q1-dsk0golh8v/imgs/hero.svg @@ -0,0 +1,74 @@ + + What's new in Prisma? (Q1/22) + A white release panel on paper listing three Prisma ORM milestones from the first quarter of 2022 — the MongoDB connector reaching General Availability, highlighted in cyan, with CockroachDB support and MySQL full-text search in Preview beneath it. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Prisma ORM releases · Q1 2022 + + + + + + + + + MongoDB connector + Generally available + CockroachDB + Preview + Full-text search for MySQL + Preview + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/wnip-q1-dsk0golh8v/imgs/meta.png b/apps/blog/public/wnip-q1-dsk0golh8v/imgs/meta.png new file mode 100644 index 0000000000..0b901b3ac7 Binary files /dev/null and b/apps/blog/public/wnip-q1-dsk0golh8v/imgs/meta.png differ diff --git a/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg b/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg new file mode 100644 index 0000000000..0dddb44722 --- /dev/null +++ b/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg @@ -0,0 +1,65 @@ + + What's new in Prisma? (Q2/22) + TypeMark cover: the quarter "Q2 2022" set large in ink on light paper, with a line naming the Prisma ORM features promoted to General Availability that quarter. + + + + + + + + + + + + + + + + + + + + + + + + + + + Quarterly roundup + + + + Q2 2022 + + Promoted to General Availability + Indexes · JSON filtering · Raw queries · CockroachDB + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png b/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png new file mode 100644 index 0000000000..eedde0beed Binary files /dev/null and b/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png differ diff --git a/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/hero.svg b/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/hero.svg new file mode 100644 index 0000000000..21ad4e127e --- /dev/null +++ b/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/hero.svg @@ -0,0 +1,77 @@ + + What's new in Prisma? (Q3/21) + A release ledger on light paper: a full-width white card lists four Prisma features from Q3 2021 with their stage — the MongoDB connector row highlighted in cyan as newly in Preview, alongside Interactive transactions in Preview and Microsoft SQL Server and Referential actions generally available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + What's new in Prisma · Q3 2021 + + + + + + + + + MongoDB connector + Preview + Interactive transactions + Preview + Microsoft SQL Server + Generally available + Referential actions + Generally available + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/meta.png b/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/meta.png new file mode 100644 index 0000000000..33d919986f Binary files /dev/null and b/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/meta.png differ diff --git a/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg b/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg new file mode 100644 index 0000000000..a3fd8d0c95 --- /dev/null +++ b/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg @@ -0,0 +1,63 @@ + + What's new in Prisma? (Q4/22) + TypeMark cover: a giant Sora "Q4/22" on light paper, with the quarter's headline release note beneath it. + + + + + + + + + + + + + + + + + + + + + + + + + + + What’s new in Prisma + + + + Q4/22 + Interactive transactions and relation mode reach GA + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/meta.png b/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/meta.png new file mode 100644 index 0000000000..71c6f150f2 Binary files /dev/null and b/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/meta.png differ diff --git a/apps/blog/public/wnip-q4-dsk0golh8v/imgs/hero.svg b/apps/blog/public/wnip-q4-dsk0golh8v/imgs/hero.svg new file mode 100644 index 0000000000..ba2aeab1f3 --- /dev/null +++ b/apps/blog/public/wnip-q4-dsk0golh8v/imgs/hero.svg @@ -0,0 +1,96 @@ + + What's new in Prisma? (Q4/21) + A typographic cover: a large Sora "Q4" over a spectrum rule, beside a short ledger of the quarter's releases — MongoDB connector in preview, SQL Server and Azure SQL generally available, interactive transactions in preview. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + What's new in Prisma + + + + Q4 + + October to December 2021 + + MongoDB connector + + Preview + + + SQL Server & Azure SQL + + GA + + + Interactive transactions + + Preview + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/wnip-q4-dsk0golh8v/imgs/meta.png b/apps/blog/public/wnip-q4-dsk0golh8v/imgs/meta.png new file mode 100644 index 0000000000..2ebb1be1c9 Binary files /dev/null and b/apps/blog/public/wnip-q4-dsk0golh8v/imgs/meta.png differ diff --git a/apps/blog/public/working-with-data-in-large-teams/imgs/hero.svg b/apps/blog/public/working-with-data-in-large-teams/imgs/hero.svg new file mode 100644 index 0000000000..d7b795f7f1 --- /dev/null +++ b/apps/blog/public/working-with-data-in-large-teams/imgs/hero.svg @@ -0,0 +1,75 @@ + + Working With Data in Large Teams + A customer table card grouped into an expand step that adds firstName and lastName and a contract step where the old name column is struck through. + + + + + + + + + + + + + + + + + + + + + + + Schema changes at scale + + + + Migrate without + breaking production + + + + + customer + + + Expand + + firstName + lastName + + Contract + name + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/blog/public/working-with-data-in-large-teams/imgs/meta.png b/apps/blog/public/working-with-data-in-large-teams/imgs/meta.png new file mode 100644 index 0000000000..458d281ae8 Binary files /dev/null and b/apps/blog/public/working-with-data-in-large-teams/imgs/meta.png differ