A modern Terminal User Interface (TUI) database management tool for PostgreSQL, MySQL, and SQLite.
- π Multi-database support: Connect to PostgreSQL, MySQL, and SQLite databases
- π₯οΈ Clean TUI interface: Modern terminal interface built with Ratatui
- π Database exploration: Navigate through databases, tables, and schemas with ease
- π Data viewing: Browse table records with pagination and horizontal scrolling
- βοΈ Table inspection: View detailed column information, data types, and constraints
- π CLI integration: Launch pgcli, mycli, or litecli directly from the SQL tab
- πΎ Connection management: Save and organize multiple database connections
- π Live search: Real-time filtering of databases and tables
- β¨οΈ Keyboard-driven: Full keyboard navigation with intuitive shortcuts
cargo install clazydbmgit clone https://github.com/ppdx999/clazydbm.git
cd clazydbm
cargo install --path .For SQL tab functionality, install the appropriate CLI tools:
# PostgreSQL
pip install pgcli
# MySQL
pip install mycli
# SQLite
pip install litecliclazydbmOn first run, clazydbm will create a configuration directory in your home folder. Edit the connections file to add your database connections:
Linux/macOS: ~/.config/clazydbm/config.yaml
Windows: %APPDATA%/clazydbm/config.yaml
Example configuration:
conn:
- type: mysql
name: demo-mysql
user: root
password: rootpass
host: 127.0.0.1
port: 3306
database: demo
- type: postgres
name: demo-postgres
user: postgres
password: postgres
host: 127.0.0.1
port: 5432
database: demo
- type: sqlite
name: demo-sqlite
path: dev/sqlite/sample.dbTab/Shift+Tab: Switch between panelsββ/jk: Navigate listsEnter: Select item / Open tableEsc: Go back
1: Focus on Records tab2: Focus on SQL tab3: Focus on Properties tabββ/hl: Scroll columns horizontally[]: Jump 5 columns left/rightCtrl+A/Ctrl+E: Jump to first/last columnPgUp/PgDn: Scroll rows verticallyHome/End: Jump to top/bottom
Enter: Launch external CLI tool (pgcli/mycli/litecli)
Ctrl+C: Quit application
clazydbm is built with a modular architecture:
- Database abstraction: Clean trait-based interface for different database types
- Component-based UI: Reusable UI components with message-passing architecture
- Terminal management: Proper terminal suspension/restoration for external tools
- Asynchronous operations: Non-blocking database operations
| Database | Status | CLI Integration |
|---|---|---|
| PostgreSQL | β | pgcli |
| MySQL | β | mycli |
| SQLite | β | litecli |
Contributions are welcome! Please feel free to submit a Pull Request.
This project was greatly inspired by gobang by TaKO8Ki. We are grateful for the excellent foundation and design patterns that gobang provided for building terminal-based database management tools.
MIT License - see LICENSE file for details