HappyDB
Full-featured database manager right inside VS Code


Manage your databases without leaving the editor — browse tables, run queries, inspect schemas and edit data, all from a comfortable webview panel.
DEPRECATED.
For better interaction, use my new core extension RapiDB
✨ Features
- 🔌 Multi-database support — PostgreSQL, MySQL, MSSQL, SQLite
- 🌳 Connection tree — sidebar panel with all your connections and their schemas (tables, views, functions)
- 📝 SQL editor — write and execute queries with results shown inline
- 📊 Data grid — paginated table viewer with sorting and filtering
- 🏗️ Schema inspector — view columns, types, constraints, indexes and foreign keys
- 🕓 Query history — keeps the last N queries (configurable)
- ⚡ Fast builds — extension bundled with esbuild, webview built with Vite
🗃️ Supported Databases
| Database |
Driver |
Required fields |
| PostgreSQL |
pg |
host, port, database, username, ssl |
| MySQL / MariaDB |
mysql2 |
host, port, database, username, ssl |
| Microsoft SQL |
mssql |
host, port, database, username, ssl, trustServerCertificate |
| SQLite |
better-sqlite3 |
filePath |
All connections share name, type and optional password.
⚙️ Configuration
Settings are available under HappyDB in VS Code preferences:
| Setting |
Type |
Default |
Description |
happydb.connections |
array |
[] |
Saved connection list |
happydb.pageSize |
number |
100 |
Rows per page in the data grid |
happydb.queryHistoryLimit |
number |
50 |
Max queries kept in history |
happydb.autoRefresh |
boolean |
false |
Auto-refresh tree after changes |
🚀 Getting Started
Prerequisites
Installation (from source)
# Clone the repository
git clone https://github.com/DmitriiKholkin/HappyDB.git
cd HappyDB
# Install extension dependencies
npm install
# Install webview dependencies
cd webview && npm install && cd ..
# Build everything
npm run build
🔧 Usage
- Open the HappyDB panel from the VS Code Activity Bar (database icon).
- Click + Add Connection and fill in the connection details.
- Click the plug icon next to a connection to connect.
- Browse databases, schemas, tables and views in the tree.
- Click a table to open the Data Grid — scroll, sort and filter rows.
- Click New SQL Query to open the query editor for that connection.
- Click the layout icon on a table to open the Schema Inspector.
🛠️ Tech Stack
| Layer |
Technology |
| Extension runtime |
TypeScript + esbuild |
| Webview UI |
React 18 + Vite |
| State management |
Zustand |
| DB drivers |
pg · mysql2 · mssql · better-sqlite3 |
🤝 Contributing & Feedback
Bug reports, feature requests and pull requests are all welcome!
To contribute code: fork the repo → create a branch → commit → open a PR.
📄 License
This project is licensed under the Elastic License 2.0 (ELv2).
You are free to use, modify and distribute the source code for non-commercial purposes. Commercial use — including offering the software as a hosted/managed service — is not permitted without explicit written permission from the author.
See the full license text in the LICENSE file or at elastic.co/licensing/elastic-license.
| |