candycore/candy-query
最新稳定版本:v0.2.0
Composer 安装命令:
composer create-project candycore/candy-query
包简介
Terminal SQLite browser — port of jorgerojas26/lazysql on the SugarCraft stack.
README 文档
README
CandyQuery
Terminal SQLite browser on the SugarCraft stack — port of jorgerojas26/lazysql, SQLite-only at v1.
composer require sugarcraft/candy-query candy-query path/to/db.sqlite
Keys
| Key | Action |
|---|---|
Tab |
Switch pane (Tables → Rows → Query) |
↑/↓ or j/k |
Move cursor in active list pane |
Enter / Space |
Load the highlighted table into the rows pane |
Ctrl+R |
Run the SQL in the query pane |
Backspace |
Delete last character (query pane) |
q / Esc |
Quit (except inside the query pane — q types) |
Architecture
| File | Role |
|---|---|
Database |
Thin PDO/SQLite wrapper. Throws RuntimeException on missing files; promotes PDO errors to exceptions for the App's catch arm. |
Pane |
Enum for pane focus + next(). |
App (Model) |
Tables list, rows pane, in-progress SQL editor buffer, error string, status string. Pure-state. |
Renderer |
Three rounded-border panes — tables, rows, query — with the focused pane getting a brighter accent. |
The PDO connection is the only stateful dependency; tests use a :memory: SQLite to exercise the full transition surface (load tables, switch panes, run query, error handling) without fixture files.
Multi-driver (MySQL / Postgres / Mongo) is a planned follow-up — the current Database class is a SQLite-only concrete; promoting it to an interface is a one-class job once the second driver lands.
Test
composer install vendor/bin/phpunit
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-07
