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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/connections/urls.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ libsql://your-database.turso.io
```

<Tip>
When another client also handles the scheme, `open -b com.TablePro "mysql://…"` forces TablePro. See [Terminal and DDEV](/integrations/terminal) for the `tablepro` command and the `ddev tablepro` host command.
When another client also handles the scheme, `open -b com.TablePro "mysql://…"` forces TablePro. See [Terminal](/integrations/terminal) for the `tablepro` command and [DDEV](/integrations/ddev) for `ddev tablepro`.
</Tip>

## Confirmation and trusted links
Expand Down
2 changes: 1 addition & 1 deletion docs/customization/general-settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Older servers have neither: MySQL before 5.7.8, MariaDB before 10.1.1. A stateme

## Command line tool

**Install** writes a `tablepro` command to `/usr/local/bin` that opens database URLs in the app. When it cannot write there, the section prints the command to run in Terminal yourself. See [Terminal and DDEV](/integrations/terminal).
**Install** writes a `tablepro` command to `/usr/local/bin` that opens database URLs in the app. When it cannot write there, the section prints the command to run in Terminal yourself. See [Terminal](/integrations/terminal).

## Trusted links

Expand Down
2 changes: 2 additions & 0 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -314,9 +314,11 @@
"group": "Integrations",
"icon": "puzzle-piece",
"pages": [
"integrations/index",
"integrations/mcp-clients",
"integrations/raycast",
"integrations/terminal",
"integrations/ddev",
"integrations/ios-shortcuts"
]
},
Expand Down
2 changes: 1 addition & 1 deletion docs/features/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ First time here: [Quick Start](/quickstart) gets you from install to a query wit
<Card title="Developers" icon="bolt" href="/developers">
Build an integration on the URL scheme, AppleScript, MCP and pairing.
</Card>
<Card title="Raycast Extension" icon="magnifying-glass" href="/integrations/raycast">
<Card title="Raycast" icon="magnifying-glass" href="/integrations/raycast">
Search connections, run queries, focus tabs.
</Card>
<Card title="URL Scheme" icon="link" href="/developers/url-scheme">
Expand Down
40 changes: 40 additions & 0 deletions docs/integrations/ddev.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: DDEV
description: Open a DDEV project's database in TablePro with the ddev tablepro command
---

The command ships with DDEV, not with TablePro. Run it inside a project:

```bash
cd my-project
ddev tablepro
```

A stopped project starts first. The connection that opens is named `ddev-<project>`, carries the
`local` tag, and is not saved. Use the command instead of a saved connection: DDEV picks a new host
port on every `ddev start` unless the project sets `host_db_port`, and the command passes the
current one each time. Database, user and password are all `db`.

## Requirements

- DDEV v1.25.4 or later.
- A MySQL, MariaDB or PostgreSQL database in the project.
- TablePro at `/Applications/TablePro.app`. DDEV adds the command only when the app is at that path.

## The first run

TablePro asks **Open External Database Connection?** before it connects. Choose **Always Allow** and
that project stops asking, port changes included. [Trusting a link](/integrations/terminal#trusting-a-link)
covers what the trust is keyed on and where to forget it.

## From VS Code

The community [DDEV Manager](https://marketplace.visualstudio.com/items?itemName=biati.ddev-manager)
extension runs `ddev tablepro` for you when its **Default Database Manager** setting is TablePro.

## Troubleshooting

| Symptom | What to do |
| --- | --- |
| `Error: unknown command "tablepro" for "ddev"` | Update DDEV to v1.25.4 or later, and check that TablePro is in `/Applications` |
| The alert appears on every run | Choose **Always Allow**, not **Connect** |
29 changes: 29 additions & 0 deletions docs/integrations/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Integrations
sidebarTitle: Overview
description: Use TablePro from AI clients, Raycast, the terminal, DDEV and iOS Shortcuts
---

AI clients and the Raycast extension query your databases through the [MCP server](/features/mcp),
so its limits, tokens and activity log, all reached from **Settings > Integrations**, apply to them.
The terminal, DDEV and iOS Shortcuts work without it.

<CardGroup cols={2}>
<Card title="MCP clients" icon="robot" href="/integrations/mcp-clients">
Connect Claude, Cursor, VS Code, Zed and other MCP clients.
</Card>
<Card title="Raycast" icon="magnifying-glass" href="/integrations/raycast">
Search connections, browse schemas and run SQL from Raycast.
</Card>
<Card title="Terminal" icon="terminal" href="/integrations/terminal">
Open database URLs and SQL files with the `tablepro` command.
</Card>
<Card title="DDEV" icon="cube" href="/integrations/ddev">
Open a project's database with `ddev tablepro`.
</Card>
<Card title="iOS Shortcuts" icon="mobile" href="/integrations/ios-shortcuts">
Add rows or open a connection from Shortcuts on iPhone and iPad.
</Card>
</CardGroup>

To build an integration of your own, start at [Developers](/developers).
2 changes: 1 addition & 1 deletion docs/integrations/mcp-clients.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Paste one absolute path into your client's MCP config and stop there. `tablepro-
}
```

For an install outside `/Applications`, use your own bundle's path. Setapp puts it at `~/Applications/Setapp/TablePro.app/Contents/MacOS/tablepro-mcp`.
For an install outside `/Applications`, use your own bundle's path. **Connect a Client…** in **Settings > Integrations** shows snippets with it filled in.

## Clients that take the JSON above

Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/raycast.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Raycast Extension
title: Raycast
description: Install and pair the TablePro Raycast extension, and use its commands and AI tools
---

Expand Down
24 changes: 6 additions & 18 deletions docs/integrations/terminal.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: Terminal and DDEV
description: Opening databases and files from a shell script, and wiring up a ddev tablepro command
title: Terminal
description: Open database URLs, database files and SQL files in TablePro from a shell or a script
---

`open "mysql://…"` goes to whichever app claims the `mysql://` scheme, and with TablePlus or another
`open "mysql://…"` goes to whichever app claims the `mysql://` scheme, and with another database
client installed that may not be TablePro. Name TablePro instead, either by bundle identifier or
through the `tablepro` command:

Expand Down Expand Up @@ -49,28 +49,16 @@ tablepro app.db
DuckDB plugin. A window already connected to that file comes to front instead of a second one
opening.

## DDEV

[DDEV](https://ddev.com) ships a `tablepro` command of its own. From any project:

```bash
cd my-project
ddev tablepro
```

If `ddev tablepro` is not found, update DDEV. It covers MySQL, MariaDB and PostgreSQL projects, and
DDEV's database, user and password are all `db`. Prefer it over a saved connection: `ddev start`
hands the project a new host port each time, and the command reads the current one.

## Trusting a link

The first time a link connects, TablePro asks: **Open External Database Connection?**, showing the
host, user and database. This is what stops a web page from opening a connection behind your back.

For a database on your own machine (`localhost`, `127.0.0.1`, `::1`, or any `127.x.x.x` address) the
alert adds **Always Allow**. Choose it and that database stops asking, which is what makes
`ddev tablepro` a one-step command. Trust is keyed on database type, host, database name, user and
the URL's `name` parameter, deliberately not the port, since DDEV changes the port on every start.
[`ddev tablepro`](/integrations/ddev) a one-step command. Trust is keyed on database type, host,
database name, user and the URL's `name` parameter, not the port, so a tool that picks a new port on
each start stays trusted.

<Frame caption="The confirmation alert for an external database link">
<img className="block dark:hidden" src="/images/link-trust-alert.png" alt="Alert asking to confirm an external database link, with Always Allow for local databases" />
Expand Down
Loading