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

  1. Click Databases in the left sidebar
  2. Click + β†’ pick a database type
  3. Fill in host, port, database, username, password
  4. 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 suggests schema.table qualified 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:

  1. Open an HTTP request tab β†’ click DB Verify
  2. Select a connection and write a SQL query
  3. 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.js files; click Export Template to get a starter
  • Community Registry β€” browse registry.rostyman.com and 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.tablename syntax in queries β€” autocomplete recognises schema names and suggests their tables.