updated docs
This commit is contained in:
80
docs/data/en/station-databrowse.md
Normal file
80
docs/data/en/station-databrowse.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Databrowse
|
||||
|
||||
SQL data browser. Connects to a database, reads its schema from config, and provides a navigation and query interface.
|
||||
|
||||
**Status:** ready
|
||||
|
||||
---
|
||||
|
||||
## What It Does
|
||||
|
||||
Databrowse is a monitor, not a tool. It runs continuously and lets you browse database contents through a web interface. Navigate tables, inspect rows, run saved queries.
|
||||
|
||||
The core is generic SQL. Room configuration defines the schema and saved views.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
soleprint/station/monitors/databrowse/ # Core (generic SQL browser)
|
||||
cfg/<room>/soleprint/station/monitors/databrowse/depot/ # Room config
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Room-specific config lives in the depot directory.
|
||||
|
||||
### schema.json
|
||||
|
||||
Defines tables, fields, and relationships:
|
||||
|
||||
```json
|
||||
{
|
||||
"tables": [
|
||||
{
|
||||
"name": "users",
|
||||
"fields": [
|
||||
{"name": "id", "type": "integer", "primary": true},
|
||||
{"name": "email", "type": "string"},
|
||||
{"name": "created_at", "type": "datetime"}
|
||||
],
|
||||
"relationships": [
|
||||
{"field": "id", "target": "orders.user_id", "type": "one_to_many"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### views.json
|
||||
|
||||
Defines saved queries:
|
||||
|
||||
```json
|
||||
{
|
||||
"views": [
|
||||
{
|
||||
"name": "Recent Users",
|
||||
"query": "SELECT * FROM users ORDER BY created_at DESC LIMIT 50"
|
||||
},
|
||||
{
|
||||
"name": "Active Orders",
|
||||
"query": "SELECT * FROM orders WHERE status = 'active'"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Separation
|
||||
|
||||
Core provides:
|
||||
- SQL connection handling
|
||||
- Table navigation UI
|
||||
- Query execution engine
|
||||
- Relationship traversal
|
||||
|
||||
Room provides:
|
||||
- `depot/schema.json` -- table definitions
|
||||
- `depot/views.json` -- saved queries
|
||||
- Database connection credentials
|
||||
|
||||
The core knows nothing about your domain. The depot tells it what to show.
|
||||
Reference in New Issue
Block a user