MCPcopy Index your code
hub / github.com/damms005/devdb-vscode

github.com/damms005/devdb-vscode @v3.0.9

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.0.9 ↗ · + Follow
566 symbols 1,513 edges 186 files 27 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DevDb

<a href="https://github.com/damms005/devdb-vscode/actions"><img alt="Tests passing" src="https://img.shields.io/github/actions/workflow/status/damms005/devdb-vscode/deploy.yml?style=for-the-badge&logo=github&label=TESTS"></a>
<a href="https://marketplace.visualstudio.com/items?itemName=damms005.devdb"><img alt="VS Code Marketplace Installs" src="https://img.shields.io/visual-studio-marketplace/i/damms005.devdb?style=for-the-badge&cacheSeconds=10800"></a>
<a href="https://marketplace.visualstudio.com/items?itemName=damms005.devdb&ssr=false#review-details"><img alt="VS Code Marketplace Rating" src="https://img.shields.io/visual-studio-marketplace/r/damms005.devdb?style=for-the-badge&cacheSeconds=10800"></a>
<a href="https://github.com/sponsors/damms005"><img alt="Sponsor" src="https://img.shields.io/badge/Sponsor-%E2%9D%A4-%23db61a2.svg?&logo=github&logoColor=white&labelColor=181717&style=for-the-badge"></a>







<a href="https://marketplace.visualstudio.com/items?itemName=damms005.devdb">VS Code Marketplace page</a>
    ⋅
<a href="https://open-vsx.org/extension/damms005/devdb">Open VSX Registry page</a>

A lightweight VS Code extension that auto-loads your database and provides affordances from your database to aid development and debugging.

Built with 💖 for developers.

Featured In

Laravel News DDEV documentation Daily dev TestDevTools

Latest Features

  1. Zero-config auto-detection for local Supabase projects
  2. Fix issues with Django projects zero-config support
  3. Correctly report MariaDB in DDEV projects
  4. [Pro] MongoDB support with automatic schema inference
  5. [Pro] MySQL/MariaDB over SSH tunnel
  6. [Pro] PostgreSQL over SSH tunnel

Sponsors

We are genuinely grateful to the following sponsors of DevDb:

  • DevWorkspace Pro - Easily build and manage web apps, with conveniences that supercharge your productivity
  • Traycer AI - A Powerful AI assistance, natively integrated into your VS Code workflow.

Features

  • MCP Server: Provide your database information to AI-powered IDEs and MCP clients like Cursor, Windsurf, etc.

  • Quick table open command: Press Cmd+K Cmd+G (Mac) or Ctrl+K Ctrl+G (Windows/Linux) to quickly open any table.

  • Zero-config Database Auto-discovery: Automatically discover and load your database ― no manual configuration required. Supports environments like DDEV, Adonis, Laravel, containerized setups (Laravel Sail), etc.

  • Database affordances for Local Development: Because of a deep understanding of your database schema, DevDb is able to provide affordances that aid development and debugging, such as one-click generation of Eloquent Model factories, etc.

  • Powerful IDE Integrations: DevDb nicely integrates your database with your IDE to provide very useful IDE-powered features like Context Menu & CodeLens Integrations directly in your editor, providing features like opening tables from code, invoking SQL query explainer when working on query optimization tasks, etc.

  • Rich Database Client with Intuitive UX: Dedicated database client view with one-click data browsing, inline editing, deletion, one-click reconnection, etc. Easily modify, set values to null, preview complex JSON data, all within a responsive interface.

  • Data Export: Export table data as well-formatted JSON or SQL INSERT statements copied to your clipboard or saved to file.

  • Comprehensive Multi-database Support: Seamlessly interface with SQLite, MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and MongoDB. Connect to remote databases securely via SSH tunnels.

  • Intuitive Configuration System: In environments where automatic zero-config is unavailable, DevDb provides quick snippets that produce well-formatted templates, as well as JSON Schema validation IntelliSense, which altogether makes creating configuration file for connecting to your database an awesome experience.

  • Integrated Framework & Tool Support: Tailored support for popular frameworks and tools including Laravel, DDEV, Ruby on Rails, and Adonis ensures a seamless development experience. Need special feature(s) for your environment? We're listening!.

  • Cross-platform Compatibility: Engineered to perform consistently on Linux, macOS, and Windows, ensuring maximum flexibility as you can carry on your work across all these platforms.

Screenshots

image image

Requirements

OS/Platform Support

  • Linux *(Linux-x64, Linux-arm64, Linux-arm, Alpine-x64)
  • macOS (Darwin-x64, Darwin-arm64 Apple Silicon)
  • Windows (Win32-x64)

Ubuntu 20.04 (including equivalent distors) and below are not supported because they have reached EOL and no longer supported runners in GitHub Actions. See https://github.com/actions/runner-images/issues/11101


Quick Start

[!NOTE] DevDb also provides several Language and Framework Integrations

UI Actions and Key Map

  • Cmd + K + D to toggle the view panel
  • Cmd + K + G to go to a table
  • Cmd + Click table name in the sidebar to open the table in the current tab
  • Cmd + Click on a database value to edit it
  • Click any value to preview it in the pane (useful for viewing prettified JSON string values)
  • The right pane offers options to view the current table schema or selected value
  • During edit sessions (activated during data edit/delete), the control box appears as shown in the screenshot
  • During edit sessions: Cmd + Z to undo changes, Cmd + Y to redo changes, and Cmd + S to save changes
  • Added new "Suggest New Feature" button

One-click Actions (Data Manipulation)

  • Click the trash icon on a table row to delete it
  • Click the Set null button on a database value to set the value to null

image

Supported Databases

Currently supported databases:

  • SQLite
  • MySQL
  • MariaDB
  • PostgreSQL
  • Microsoft SQL Server
  • Supabase
  • MongoDB [Pro]
  • MySQL over SSH [Pro] (also supports MariaDB)
  • PostgreSQL over SSH [Pro]
  • Supabase Cloud [Pro]

Loading Databases

DevDb can automatically discover and load your database using connection details from your VS Code workspace (zero-config mode). When this zero-config auto-discovery isn't available, a configuration file option is provided.

1. Zero-config (Automatic Database Discovery)

No configuration file is needed when the workspace root contains any of the following:

  1. Applications managed by DDEV
  2. Local Supabase projects (detected via supabase/config.toml)
  3. Adonis using default .env config for MySQL and PostgreSQL (with Lucid ORM)
  4. Django with settings.py for SQLite, MySQL, and PostgreSQL
  5. Ruby on Rails with config/database.yml for SQLite, MySQL, and PostgreSQL
  6. Laravel with default local SQLite database
  7. Laravel with default .env config for MySQL/MariaDB, PostgreSQL, and Microsoft SQL Server
  8. Containerized Laravel MySQL (Laravel Sail) with default .env/docker-compose.yml config (including dev containers support)

2. Config-based Database Loading

If zero-config support isn't available for your environment, create a .devdbrc file in your project root with your database connection details.

[!WARNING] Exclude the .devdbrc config file from version control by adding it to .gitignore. This protects sensitive information and allows team members to use different database configurations.

The configuration file should contain a single array of database connection objects. DevDb provides rich editing features for .devdbrc:

  • JSON Schema Validation: Automatic configuration validation
  • IntelliSense: Autocompletion for all fields, including type
  • Snippets: Quick configuration templates:
  • devdb mysql: MySQL configuration
  • devdb mariadb: MariaDB configuration
  • devdb postgres: PostgreSQL configuration
  • devdb sqlite: SQLite configuration
  • devdb mssql: Microsoft SQL Server configuration

Configuration File Example

[
    {
        "name": "My test MySQL database",
        "type": "mysql",
        "host": "127.0.0.1",
        "port": "3306",
        "username": "root",
        "password": "12345",
        "database": "test" // <-- the database to show in VS Code DevDb view
    },
    {
        "type": "sqlite",
        "path": "/path/to/database.sqlite"
    },
    {
        "name": "My MSSQL database",
        "type": "mssql",
        "host": "localhost",
        "port": "1433",
        "username": "sa",
        "password": "YourPassword123",
        "database": "master",
        "options": {
            "trustServerCertificate": true
        }
    }
]

3. Remote & NoSQL Connections [Pro]

With DevDb Pro License, you can connect to remote databases and NoSQL databases directly from your editor.

SSH Tunnel Connections (MySQL/MariaDB & PostgreSQL)

Connects to a remote database by forwarding traffic through an SSH tunnel. Authentication supports:

  • Private key (recommended): Provide the path to your SSH private key (e.g. ~/.ssh/id_rsa or ~/.ssh/id_ed25519). If the key is passphrase-protected, you will be prompted for it on first connection.
  • Password: If no private key is provided, you will be prompted for the SSH password.

[!NOTE] The remote server's SSH daemon must have AllowTcpForwarding set to yes (or local) in /etc/ssh/sshd_config. Without this, the SSH tunnel will fail to establish. The remote database host/port default to 127.0.0.1:3306 (MySQL) or 127.0.0.1:5432 (PostgreSQL) — change these if your database binds to a different address or port on the remote machine.

MongoDB

Connects via either individual fields (host, port, username, database) or a full connection string URI (mongodb://... or mongodb+srv://...). When using authentication, provide credentials and set the authSource (defaults to admin).

Supabase Cloud

Connect to your Supabase cloud project using the Direct Connection type. Use the connection details from your Supabase dashboard (Settings > Database):

  • Host: Your project's database host (e.g. db.<project-ref>.supabase.co)
  • Port: 5432
  • Username: postgres
  • Password: Your database password
  • Database: postgres

Troubleshooting Remote Connections

SSH Tunnels

  • AllowTcpForwarding must be yes or local in /etc/ssh/sshd_config on the remote server
  • You may need to change private key permissions to 600 (e.g. chmod 600 ~/.ssh/id_rsa)
  • DB host/port fields refer to the address on the remote machine (e.g. 127.0.0.1:3306), not your local machine
  • SSH logs: /var/log/auth.log (Debian/Ubuntu) or /var/log/secure (RHEL/CentOS)

MongoDB

  • authSource must match the database where the user was created (typically admin)
  • Credentials in connection string URIs must be URL-encoded if they contain special characters

Supabase Cloud

  • Use Direct Connection details from Supabase dashboard, not the connection pooler
  • Check Settings > Database > Network Bans if connections are refused

Tools and Framework Integrations

Context Menu Entry

Open any database table in DevDb by right-clicking its name/model/entity from the editor in any framework/programming language.

Example from a Node.js app

image

Laravel

Eloquent Model Code Lens

DevDb provides Code Lens features for:

  • Viewing the underlying table for the Eloquent model
  • Generating a factory for the model (automatically pre-filled with real data from the underlying table)

image

[!NOTE] Factory Generation is also available via the context menu

Query Explainer

The Query Explainer integrates with MySQL Visual Explain to optimize SQL queries by analyzing MySQL's query execution plan. Usage:

  1. Open a Laravel PHP file containing SQL query (Eloquent or DB facade)
  2. Select the SQL que

Extension points exported contracts — how you extend this code

DatabaseEngine (Interface)
(no doc) [14 implementers]
src/types.ts
CreationSqlResult (Interface)
(no doc)
src/database-engines/mssql-engine.ts
DevWorkspaceProInfo (Interface)
(no doc)
src/services/devworkspacepro-detection-service.ts
CustomSqliteEngine (Interface)
(no doc) [1 implementers]
src/types.ts
DdevInfo (Interface)
(no doc)
src/services/ddev-detection-service.ts
Column (Interface)
(no doc)
src/types.ts
StoredRemoteConnection (Interface)
(no doc)
src/services/remote-connection-storage-service.ts
ForeignKey (Interface)
(no doc)
src/types.ts

Core symbols most depended-on inside this repo

log
called by 125
src/services/logging-service.ts
raw
called by 106
src/database-engines/sqlite-engine.ts
reportError
called by 43
src/services/initialization-error-service.ts
logToOutput
called by 31
src/services/output-service.ts
get
called by 29
src/services/http-client.ts
getRows
called by 25
src/types.ts
isOkay
called by 23
src/types.ts
getColumns
called by 23
src/types.ts

Shape

Function 246
Method 232
Class 46
Interface 41
Enum 1

Languages

TypeScript99%
Python1%

Modules by API surface

src/types.ts37 symbols
src/database-engines/sqlite-engine.ts36 symbols
src/services/messenger.ts25 symbols
src/database-engines/postgres-engine.ts21 symbols
src/database-engines/mssql-engine.ts20 symbols
src/database-engines/mongodb-engine.ts20 symbols
src/database-engines/mysql-engine.ts19 symbols
src/database-engines/postgres-ssh-engine.ts18 symbols
src/database-engines/mysql-ssh-engine.ts18 symbols
src/services/ddev-detection-service.ts16 symbols
src/services/devworkspacepro-detection-service.ts15 symbols
src/services/http-client.ts14 symbols

Datastores touched

(mongodb)Database · 1 repos
(mysql)Database · 1 repos

For agents

$ claude mcp add devdb-vscode \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact