List tables of SQL databases for easy schema greps
greptable generates a plain-text list of your servers, databases and tables, so that you can easily find where the fuck that table is, with your favorite search tools, like grep.
This is especially useful if you are dealing with many servers and databases.
greptable works on both Python 2 and Python 3.
The only dependency is SQLAlchemy, and it should support the same databases.
For global options run greptable -h.
To list the tables, run greptable dump.
You can change the configuration file path with the -c (also known as --config). By default, it uses ~/.config/greptable.conf if it exists, otherwise greptable.conf from the current directory.
The tables are listed to the standard output by default. The -o (also known as --output) option can dump in a file instead.
Example: greptable -c greptable.conf dump -o tables.txt
For full help on options run greptable dump -h.
The configuration is a standard INI file. Section headers are SQLAlchemy URLs.
greptable will try to prettify server URLs, but you can also force a name.
[mysql://user:password@server1] [sqlite:///db.sqlite] name = db
Contributions can be sent in the form of git patches, to firstname.lastname@example.org.