Databases - amitsri/rostyman-releases GitHub Wiki
Databases
Connect to SQL, document, and key-value databases directly inside Rostyman β query, browse, and verify data without switching tools.
Supported Databases
| Database | Notes |
|---|---|
| PostgreSQL | Includes CockroachDB, Supabase, Neon, Amazon RDS |
| MySQL | Includes MariaDB, PlanetScale, Amazon Aurora |
| SQLite | Local .db / .sqlite files |
| Microsoft SQL Server | Includes Azure SQL |
| MongoDB | Atlas, local, connection-string URI |
| Redis | Standalone, Sentinel, Upstash |
| CockroachDB | PostgreSQL wire protocol |
| MariaDB | MySQL wire protocol |
| Community drivers | Install .db-driver.js plugins or browse the Community Registry |
Connecting
New Connection
- Click Databases in the left sidebar
- Click + β pick a database type
- Fill in host, port, database, username, password
- Test Connection β Save
Connection String URI
Toggle Use connection string to paste a full URI (postgres://user:pass@host:5432/db, mongodb+srv://..., etc.) instead of filling individual fields.
SSH Tunnel
Enable SSH Tunnel to route the connection through a jump host. Supports password or private key (.pem / .ppk) authentication. Works with all database types.
Connection Color
Each connection has a Color picker in the wizard. The chosen color is used throughout the UI:
- Sidebar β a colored square badge (with the driver icon in white) identifies the connection at a glance
- Tab header β the same colored badge appears next to the connection name when the tab is open
Color-coding is useful for environment safety: for example, red for production connections, green for local dev, and yellow for staging.
Environment Variables
Any field supports {{variable}} tokens β resolved from globals, vault, and active environment at connect time:
Host: {{db_host}} Port: {{db_port}} Password: {{db_password}}
Switch between dev/staging/prod by changing your active environment.
The Database Tab
Schema Browser
Left panel β tree of tables and views with column names, data types, nullable flags, and primary keys. Right-click a table for: Browse data, Count rows, Select first 100, Copy table name, Export CSV, Import data.
Search box filters by table or column name. Live schema powers SQL autocomplete.
Schema Selector (PostgreSQL, SQL Server)
When the connected database has more than one user schema, a Schema dropdown appears at the top of the schema browser. Select a schema to reload the table list and update SQL autocomplete for that schema.
- PostgreSQL defaults to
public(or the Default Schema set in the connection's Advanced tab) - SQL Server defaults to
dbo - MySQL, SQLite, MongoDB, and Redis do not show this dropdown
Query Editor
Monaco editor with SQL/MongoDB intellisense from the live schema. Autocomplete is schema-aware:
- After
FROM/JOINβ suggests table names; also suggestsschema.tablequalified names when multiple schemas are present - After
tablename.β suggests columns for that table - After
schemaname.β suggests table names in that schema - After
schemaname.tablename.β suggests columns for that table
Completions update automatically when the schema selector changes.
| Action | How |
|---|---|
| Run | Run button or Ctrl+Enter |
| Stop | Stop button |
| Format SQL | Format or Ctrl+Shift+F |
| AI assist | AI Assist β describe in plain English β Enter |
Destructive query guard β queries containing DROP, TRUNCATE, unfiltered DELETE, or ALTER TABLE DROP require typing confirm to unlock the Run button.
Multiple Query Tabs
Click + in the right-panel tab strip to open additional query tabs β each has its own SQL, results, and running state. Close a tab with Γ (the last tab stays). All tab SQL is saved automatically and restored when you reopen the connection.
AI Query Assistant
Type a plain-English description and press Enter to generate SQL. The assistant inserts the query into the editor β it never runs automatically.
Results Panel
- Column type badges on each header
- Multi-column sort (click β Shift+click to add)
- Row detail panel (click a row)
- Export: CSV, JSON, SQL INSERTs, Markdown table
- EXPLAIN tab for query execution plans (PostgreSQL, MySQL, SQLite)
Browse Tab
Paginated table data with column filter, multi-column sort, and inline cell editing. Changes queue in a preview bar until Commit changes or Discard. Requires a primary key for editing.
Three icons in the far-right of the browse toolbar expose the generated SQL: Eye (hover tooltip), Copy (clipboard), External link (open in a new query tab for editing). Each browse tab remembers its own schema β switching the Schema dropdown does not break open browse tabs on Refresh. Browse tab state (schema, page, filters, sort) is restored when you reopen the connection.
Import Data
Right-click table β Import dataβ¦ β drag a .csv or .json file. Rostyman matches columns by header name and runs bulk INSERTs.
Query History & Saved Queries
- History tab β every query run is saved per connection with SQL, duration, row count, and status. Click to reload and rerun.
- Saved tab β save queries with a name and description for reuse across sessions.
DB Projects
Organize connections into a Project β Group β Connection hierarchy:
- Click the FolderGit toggle in the sidebar header to switch to Projects view
- + Project icon creates a new project (colored dot, collapsible)
- Hover a project β + to add a group
- Click the folder icon on any connection to assign it to a group
- Double-click a project or group name to rename inline
View mode is saved across restarts. Connections work identically inside or outside a project.
Assign to Group Dialog
The Assign to Group dialog (opened via the folder icon on a connection) has been redesigned:
- Shows the connection name at the top for context
- Search box to filter projects and groups by name
- + New Group button under each project β create a group inline without leaving the dialog
- Select a group (or the project root) to assign the connection, then confirm
Drag and Drop
In the Projects view, connections can be reorganised by dragging:
- Hover a connection row to reveal the grip handle on the left
- Drag onto a group header to move the connection into that group
- Drag onto the "Unassigned" header to remove the connection from any group
Drag and drop is an alternative to the Assign to Group dialog for quick reorganisation.
Linked Contexts β DB Verify Tab
Add a DB Verify tab to any HTTP request to verify responses against live data:
- Open an HTTP request tab β click DB Verify
- Select a connection and write a SQL query
- Enable Auto-run after each request
After each HTTP request, the query runs and compares the row count against the JSON array length of the response body. Useful for confirming POST /users created a matching DB row.
DB Query Node in Workflows
Drag DB Query from the Workflow node palette to run SQL as a workflow step:
- Select a connection, write SQL, set a Result variable name
- Result is stored as a JSON array of row objects (e.g.,
{{dbRows}}) - Subsequent nodes can read or assert on the variable
Driver Manager
Open via the puzzle icon in the Databases sidebar header.
- Bundled drivers β always available, ship with the app
- Plugin drivers β install
.db-driver.jsfiles; click Export Template to get a starter - Community Registry β browse
registry.rostyman.comand install drivers in one click
Tips
- Use connection string mode for cloud databases (Neon, Supabase, PlanetScale) that provide a ready-made URI.
- SSH Tunnel works with all database types β connect to databases behind a bastion host.
- DB Projects are cosmetic; they don't affect connection behavior.
- The feature guide (BookOpen icon in the sidebar header) gives a 5-step interactive tour. If no connections exist when you click it, a sample PostgreSQL connection is created automatically.
- For PostgreSQL with multiple schemas, set the Default Schema in the connection's Advanced tab so the correct schema is pre-selected on connect.
- Use
schema.tablenamesyntax in queries β autocomplete recognises schema names and suggests their tables.