|
| 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, encrypt, 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!
- 🐛 Found a bug? — open an issue
- 💡 Have an idea? — suggest a feature
- ⭐ Enjoying HappyDB? — leave a review
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
LICENSEfile or at elastic.co/licensing/elastic-license.