Commit Graph
7 Commits
Author SHA1 Message Date
Syed Osama Ali Shah c11411e2c6 docs: fix broken Drizzle connection snippet (#43920) (#46894)
## What kind of change does this PR introduce?

Bug fix (documentation) — fixes #43920.

## What is the current behavior?

The Drizzle connection example (`db.ts`) at

[`apps/docs/content/guides/database/drizzle.mdx`](https://github.com/supabase/supabase/blob/master/apps/docs/content/guides/database/drizzle.mdx)
does not compile or run as written:

```ts
let connectionString = process.env.DATABASE_URL
if (connectionString.includes('postgres:postgres@supabase_db_')) {
  const url = URL.parse(connectionString)!
  url.hostname = url.hostname.split('_')[1]
  connectionString = url.href
}
// ...
export const db = drizzle(client);
```

- `process.env.DATABASE_URL` is `string | undefined`, so
`.includes(...)` errors with **"Object is possibly 'undefined'"** —
copy-pasting the snippet fails to type-check (the core of #43920).
- `URL.parse()` is a very recent static method (Node 22.1+/modern
runtimes only) and isn't portable for a docs example.
- The final line ends with a stray `;`, which violates this repo's
prettier config (`semi: false`).

## What is the new behavior?

Three surgical fixes to the snippet:

```ts
let connectionString = process.env.DATABASE_URL!
if (connectionString.includes('postgres:postgres@supabase_db_')) {
  const url = new URL(connectionString)
  url.hostname = url.hostname.split('_')[1]
  connectionString = url.href
}
// ...
export const db = drizzle(client)
```

- `DATABASE_URL!` — the example assumes the env var is set (it's set in
the step above), matching Drizzle's own docs.
- `new URL(connectionString)` — standard and portable.
- Dropped the trailing semicolon to satisfy `semi: false`.

No prose changes; the docker hostname-rewrite logic is unchanged.

## Validation

The corrected snippet is **prettier-clean** under this repo's config
(`semi: false`, `singleQuote: true`, `printWidth: 100`) — verified
idempotent
with `prettier --parser typescript`. The change is a single code block
in one
MDX file.

## Additional context

Fixes #43920. The undefined-variable / type-unsafe form was introduced
in #40288.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Updated Drizzle database quickstart: added explicit validation for the
DATABASE_URL environment variable and improved connection-string parsing
to better handle Docker/Supabase hostnames, plus clarified client/DB
initialization steps.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-18 13:57:26 +02:00
Kimaswa Emmanuel YusufuandChris Chinchilla 64085b2d0c docs: fix broken code examples and wrong identifiers in guides (#46755)
A handful of code samples in the guides either don't run or contradict
the surrounding text. I found these reading through the docs.

- `database/debugging-performance`: `insert into books` targets a table
that's never created. The table made just above is `instruments`.
- `database/drizzle`: the `db.ts` snippet references an undefined
`host`. The variable in scope is `connectionString`.
- `database/postgres/column-level-security`: the `create table` is
missing a comma after `created_at ... now()`, so it won't parse.
- `database/postgres/first-row-in-group`: `distinct on (team)` with
`order by id, ...` is rejected by Postgres (the DISTINCT ON column has
to lead the ORDER BY). Ordered by `team, points desc` so it returns one
row per team.
- `database/postgres/data-deletion`: reversed markdown link
`(text)[url]`, plus "parititioning" misspelled.
- `database/extensions/pg_plan_filter`: prose says
`statement_cost_filter`, but the real parameter (used everywhere else in
the file) is `statement_cost_limit`.
- `auth/auth-hooks/mfa-verification-hook`: the insert and on-conflict
update use `last_refreshed_at`, but the table column is
`last_failed_at`.
- `telemetry/advanced-log-filtering`: the "ends with" example writes
`'$port=12345'`. The `$` anchor needs to come after the literal:
`'port=12345$'`.
- `ai/examples/headless-vector-search`: uses `${projectURL}` but the
const is `projectUrl`.
- `getting-started/quickstarts/redwoodjs`: prose says
`scripts/seeds.ts`, but the code block and Redwood use
`scripts/seed.ts`.
- `getting-started/tutorials/with-flutter`: two code-fence headers have
a stray trailing `"`.
- `local-development/cli/testing-and-linting`: stray backtick in "Edge`
Functions".


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Corrected code examples across multiple guides including vector
search, authentication hooks, database guides, and quickstarts
* Fixed SQL syntax errors, variable names, and table references in
example snippets
* Resolved typos, broken links, and formatting inconsistencies in guide
text
  * Clarified parameter names and script references in documentation
  * Updated code fence syntax in tutorials for proper rendering

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2026-06-12 16:08:41 +00:00
Martin DONADIEU ccbdde22e0 docs: Update connection string logic for Docker compatibility (#40288)
Adapt connection string handling for Docker resolver in Supabase.
2025-11-12 10:24:02 +00:00
CharisandChris Chinchilla 47705a8968 chore: replace all supabase urls with relative urls (#38537)
* fix: rewrite relative URLs when syncing to GitHub discussion

Relative URLs back to supabse.com won't work in GitHub discussions, so
rewrite them back to absolute URLs starting with https://supabase.com

* fix: replace all supabase urls with relative urls

* chore: add linting for relative urls

* chore: bump linter version

* Prettier

---------

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2025-09-09 12:54:33 +00:00
Chris ChinchillaandDanny White 039e5c0345 docs: Update database settings to connection popup (#38462)
* Draft

* Draft

* Draft

* Draft

* Update apps/docs/content/guides/ai/rag-with-permissions.mdx

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>

* Update apps/docs/content/guides/database/beekeeper-studio.mdx

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>

* Update apps/docs/content/guides/platform/read-replicas.mdx

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2025-09-08 10:40:25 +00:00
Danny WhiteandJoshen Lim d914b81f47 feat: consolidate settings (#37580)
* feat: move storage settings

* feat: redirect

* feat: database settings in service area

* feat: move data api settings

* fix: revert data API placement

* feat: minor UX touches

* fix: simplify configuration group

* feat: references to database settings

* feat: references to storage settings

* fix: redirects and formatting

* fix: Import StorageMenu dynamically to avoid SSR issues with useLocalStorage

* fix: move Data API closer to semantic siblings

* fix: revert smart comma

* Shift bucket sort logic into storage explorer store

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-04 16:21:54 +10:00
a0eff938ff New connection management docs (#29166)
* recreated connecting-to-postgres

* adding GUI quickstart section with DBeaver

* moved psql and pgadmin docs to GUI quickstart

* added Prisma installation docs. Moved postgres.js and Drizzle into own section

* added connection management docs

* moved supavisor troubleshooting guide into troubleshooting section. Probably should not merge without adding more guides

* updated IPv4 Add ons docs

* removed typo

* Update apps/docs/content/guides/platform/ipv4-address.mdx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/docs/content/guides/platform/ipv4-address.mdx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/docs/content/guides/database/supavisor.mdx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/docs/content/guides/database/prisma.mdx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/docs/content/guides/database/connection-management.mdx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/docs/content/guides/database/connection-management.mdx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/docs/components/Navigation/NavigationMenu/NavigationMenu.constants.ts

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* removed repetition in connection-management | added photos

* Update apps/docs/content/guides/database/connecting-to-postgres.mdx

Co-authored-by: Stas <sts@abc3.dev>

* Update apps/docs/content/guides/platform/ipv4-address.mdx

Co-authored-by: Stas <sts@abc3.dev>

* Update apps/docs/content/guides/database/connection-management.mdx

Co-authored-by: Stas <sts@abc3.dev>

* Update apps/docs/content/guides/database/connecting-to-postgres.mdx

Co-authored-by: Stas <sts@abc3.dev>

* Update apps/docs/content/guides/platform/ipv4-address.mdx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update apps/docs/content/guides/database/connecting-to-postgres.mdx

Co-authored-by: Stas <sts@abc3.dev>

* updated proxy suggestions

* added redirects

* added images to connection-management guide

* added unique ids to titles in prisma-troubleshooting section

* added images to connection guide

* added new images to prisma guide

* reformatted admonition

---------

Co-authored-by: Brian Brennglass <brian@Brians-MacBook-Pro.local>
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
Co-authored-by: Stas <sts@abc3.dev>
2024-10-03 19:42:49 +00:00