open "mysql://…" goes to whichever app claims the mysql:// scheme, and with TablePlus or another
client installed that may not be TablePro. Name TablePro instead, either by bundle identifier or
through the tablepro command:
tablepro with no argument opens the app and nothing else.
Install the tablepro command
Open Settings > General, find Command Line, and click Install. It writes a small script at/usr/local/bin/tablepro whose whole body is exec open -b com.TablePro "$@".

The Command Line section in Settings > General
sudo command
to paste into Terminal; run it, switch back, and the status updates itself.
Uninstall removes the script again. When something else already occupies that path, Install
is dimmed and Settings says “A different file already exists at …”: remove that file first.
Open a file
Files route the same way, whether double-clicked in Finder or passed on the command line:.sql,.psqland.pgsqlopen in a query tab on the current connection. A window already holding that file comes to front. With no connection open, the file waits until you connect.- Database files open a connection to the file itself and save nothing:
.db,.db3,.s3db,.sl3,.sqlite,.sqlite3and.sqlitedbopen with SQLite,.duckdband.ddbwith the DuckDB plugin. A window already connected to that file comes to front instead of a second one opening.
DDEV
DDEV ships atablepro command of its own. From any project:
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.

The confirmation alert for an external database link
A link to a remote host asks every time. Only a database on this machine can be trusted.
?query=, ?condition= or ?raw=) confirms the filter, and a connection with a pre-connect script
shows the script.


