Download the PHP package jeffersongoncalves/db-cli without Composer
On this page you can find all versions of the php package jeffersongoncalves/db-cli. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jeffersongoncalves/db-cli
More information about jeffersongoncalves/db-cli
Files in jeffersongoncalves/db-cli
Package db-cli
Short Description CLI to inspect and query relational databases (MySQL, PostgreSQL, SQLite) with named connection profiles and table/json/csv output, built for pairing with an LLM doing schema exploration.
License MIT
Homepage https://github.com/jeffersongoncalves/db-cli
Informations about the package db-cli
db-cli
CLI to inspect and query relational databases (MySQL, PostgreSQL, SQLite) through named connection profiles, with table/json/csv output. Built to pair with an LLM doing schema exploration — describe a table, sample rows, run a read-only query — without hand-rolling a PHP script per database each time.
Built with Laravel Zero and modeled on the other CLIs in this monorepo.
Requirements
- PHP
^8.2withext-pdo(plus the driver you need:pdo_mysql,pdo_pgsql,pdo_sqlite)
Install
Global (recommended)
The binary db will be on your PATH as long as Composer's global
vendor/bin is in it.
From source
Usage
Update
Connection profiles
Profiles are saved to ~/.db-cli/config.json (mode 0600).
To connect through an SSH bastion (mysql/pgsql only), answer yes to
"Connect through an SSH tunnel?" during connections:add, or pass the
--ssh-host/--ssh-port/--ssh-username/--ssh-private-key options.
host/port stay the database's real address as seen from the bastion;
the CLI opens a local port forward through the system ssh client (so your
~/.ssh/config, agent and keys apply as usual) and tears it down when the
command exits. Requires an ssh client on PATH.
Explore a database
Run a read-only query
query only accepts SELECT / SHOW / DESCRIBE / EXPLAIN / WITH /
PRAGMA, rejects stacked statements (a; b), and appends a LIMIT when the
query doesn't already have one — this CLI is meant for read-only exploration,
including against production databases.
Benchmark a query
Runs the statement --runs times (plus --warmup discarded runs to prime
caches) and reports min/avg/median/max in milliseconds, plus the row count.
--file accepts a .sql file with one or more ;-terminated statements;
a -- label comment on a statement names it in the output, otherwise
statements are labeled q1, q2, ... Same read-only restriction as query.
Output formats
Every read command accepts --format=table|json|csv (default table).
json is the format to reach for when piping results to an LLM or another
program.
Development
License
MIT © Jefferson Goncalves
All versions of db-cli with dependencies
ext-pdo Version *