DevDb
VS Code Marketplace page ⋅ Open VSX Registry page
一个轻量级的VS Code扩展,可以自动加载数据库,并提供数据库的启示,以帮助开发和调试。
内置于💖 对于开发者来说。
特色在
最新功能
- 本地Supabase项目的零配置自动检测
- 修复Django项目零配置支持的问题
- 在DDEV项目中正确报告MariaDB
- \[专业\] MongoDB支持自动模式推理
- \[专业\] MySQL/MariaDB通过SSH隧道
- \[专业\] SSH隧道上的PostgreSQL
赞助商
我们衷心感谢DevDb的以下赞助商:
- DevWorkspace Pro -轻松构建和管理web应用程序,提供便利,提高您的生产力
- Traycer AI -强大的人工智能辅助,原生集成到您的VS Code工作流程中。
特性
- MCP服务器: 将您的数据库信息提供给人工智能驱动的IDE和MCP客户端,如Cursor、Windsurf等。
- 快速打开表格命令: 按
Cmd+K Cmd+G(Mac)或Ctrl+K Ctrl+G(Windows/Linux)快速打开任何表。
- 零配置数据库自动发现: 自动发现并加载数据库,无需手动配置。支持DDEV、Adonis、Laravel、容器化设置(Laravel Sail)等环境。
- 数据库对地方发展的启示: 由于对数据库模式的深入了解,DevDb能够提供有助于开发和调试的启示,例如一键生成Eloquent Model工厂等。
- 强大的IDE集成: DevDb很好地将您的数据库与IDE集成在一起,直接在编辑器中提供非常有用的IDE驱动功能,如上下文菜单和CodeLens集成,提供从代码打开表、调用 SQL查询解释器 当处理查询优化任务时等。
- 具有直观用户体验的富数据库客户端: 专用数据库客户端视图,具有一键数据浏览、内联编辑、删除、一键重新连接等功能。在响应式界面中轻松修改、将值设置为null、预览复杂的JSON数据。
- 数据导出: 导出表数据以及格式良好的JSON或SQL INSERT语句,复制到剪贴板或保存到文件中。
- 全面的多数据库支持: 与SQLite、MySQL、MariaDB、PostgreSQL、Microsoft SQL Server和MongoDB无缝对接。通过SSH隧道安全地连接到远程数据库。
- 直观的配置系统: 在自动控制的环境中 零配置 DevDb提供了生成格式良好的模板的快速片段,以及JSON模式验证IntelliSense,这使得创建连接到数据库的配置文件成为一种很棒的体验。
- 集成框架和工具支持: 对Laravel、DDEV、Ruby on Rails和Adonis等流行框架和工具的定制支持确保了无缝的开发体验。需要针对您的环境的特殊功能? 我们在听!.
- 跨平台兼容性: 设计用于在Linux、macOS和Windows上一致运行,确保您在所有这些平台上进行工作时具有最大的灵活性。
截图
需求
- VS代码1.83或更高版本
- 使用任何 支持的数据库
操作系统/平台支持
- Linux\*(Linux-x64、Linux-arm64、Linux臂、Alpine-x64)
- macOS(Darwin-x64、Darwin-arm64苹果硅)
- 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
______________________________________________________________________
快速开始
- 在VS Code项目中,使用任何 支持的数据库,确保您的数据库配置正确,并且可以从应用程序代码访问。
- 对于 零配置环境,DevDb会自动发现并 自动加载数据库.通过打开DevDb视图查看您的数据库,如所示的屏幕截图,或通过 使用快捷方式.
\[!注意\] DevDb还提供了几个 语言和框架集成
UI操作和按键图
Cmd + K + D切换视图面板Cmd + K + G走向一张桌子Cmd + Click侧边栏中的表名,用于打开当前选项卡中的表Cmd + Click对数据库值进行编辑- 单击任何值以在窗格中预览它(对于查看美化的JSON字符串值很有用)
- 右侧窗格提供查看当前表架构或选定值的选项
- 在编辑会话期间(在数据编辑/删除期间激活),控制框出现,如屏幕截图所示
- 在编辑会话期间:
Cmd + Z要撤消更改,Cmd + Y重新进行更改,以及Cmd + S保存更改 - 新增“建议新功能”按钮
一键操作(数据操作)
- 单击表格行上的垃圾图标将其删除
- 点击
Set null数据库值上的按钮,将该值设置为null
支持的数据库
当前支持的数据库:
- SQLite
- MySQL
- MariaDB
- PostgreSQL
- Microsoft SQL Server
- 速贝
- MongoDB \[专业\]
- SSH上的MySQL \[专业\] (也支持MariaDB)
- SSH上的PostgreSQL \[专业\]
- Supabase云 \[专业\]
加载数据库
DevDb可以使用VS Code工作区中的连接详细信息自动发现和加载您的数据库(零配置 模式)。当此零配置自动发现不可用时 配置文件 提供选项。
1.零配置(自动数据库发现)
不 配置文件 当工作区根目录包含以下任何内容时,需要:
- 由管理的应用程序 DDEV
- 本地 速贝 项目(通过检测
supabase/config.toml) - 阿多尼斯 MySQL和PostgreSQL使用默认.env配置(使用Lucid ORM)
- 姜戈 SQLite、MySQL和PostgreSQL的settings.py
- Ruby on Rails 用于SQLite、MySQL和PostgreSQL的config/database.yml
- 拉瑞维尔 使用默认的本地SQLite数据库
- Laravel为MySQL/MariaDB、PostgreSQL和Microsoft SQL Server提供默认.env配置
- 容器化的Laravel MySQL(Laravel Sail),默认.env/docker-compose.yml配置(包括 dev容器 支持)
2.基于配置的数据库加载
如果 零配置 您的环境没有支持,请创建 .devdbrc 在项目根目录中创建包含数据库连接详细信息的文件。
\[!警告\] 排除.devdbrc通过将配置文件添加到版本控制中.gitignore。这保护了敏感信息,并允许团队成员使用不同的数据库配置。
配置文件应包含单个数据库连接对象数组。DevDb提供了丰富的编辑功能 .devdbrc:
- JSON模式验证:自动配置验证
- 智能感知:自动完成所有字段,包括
type - 代码片段:快速配置模板:
- devdb mysql:MySQL配置 - devdb mariadb:MariaDB配置 - devdb postgres:PostgreSQL配置 - devdb sqlite:SQLite配置 - devdb mssql:Microsoft SQL Server配置
配置文件示例
[
{
"name": "My test MySQL database",
"type": "mysql",
"host": "127.0.0.1",
"port": "3306",
"username": "root",
"password": "12345",
"database": "test" // \[!注意\]
> 远程服务器的SSH守护进程必须具有 `AllowTcpForwarding` 着手 `yes` (或 `local`)in `/etc/ssh/sshd_config`没有这个,SSH隧道将无法建立。远程数据库主机/端口默认为 `127.0.0.1:3306` (MySQL)或 `127.0.0.1:5432` (PostgreSQL)——如果您的数据库绑定到远程计算机上的不同地址或端口,请更改这些。
#### MongoDB
通过单个字段(主机、端口、用户名、数据库)或完整的连接字符串URI进行连接(`mongodb://...` 或 `mongodb+srv://...`).使用身份验证时,提供凭据并设置 `authSource` (默认为 `admin`).
#### Supabase云
使用连接到您的Supabase云项目 **直接连接** 类型。使用Supabase仪表板中的连接详细信息(设置>数据库):
- **主机**:项目的数据库主机(例如。 `db.
.supabase.co`)
- **端口**: `5432`
- **用户名**: `postgres`
- **密码**:您的数据库密码
- **数据库**: `postgres`
## 远程连接故障排除
### ssh隧道
- `AllowTcpForwarding` 必须 `yes` 或 `local` 在 `/etc/ssh/sshd_config` 在远程服务器上
- 您可能需要将私钥权限更改为 `600` (例如。 `chmod 600 ~/.ssh/id_rsa`)
- DB主机/端口字段是指地址 **在远程机器上** (例如。 `127.0.0.1:3306`),不是您的本地计算机
- SSH日志: `/var/log/auth.log` (Debian/Ubuntu)或 `/var/log/secure` (RHEL/CentOS)
### MongoDB
- `authSource` 必须与创建用户的数据库匹配(通常 `admin`)
- 连接字符串URI中的凭据必须为 [编码的](https://www.mongodb.com/docs/manual/reference/connection-string/#std-label-connections-standard-connection-string-format) 如果它们包含特殊字符
### Supabase云
- 使用 **直接连接** 详细信息来自Supabase仪表板,而不是连接池
- 如果连接被拒绝,请检查设置>数据库>网络禁令
## 工具和框架集成
### 上下文菜单输入
在DevDb中打开任何数据库表,方法是在编辑器中右键单击其名称/模型/实体 **任何** 框架/编程语言。
Node.js应用程序示例

### 拉瑞维尔
#### Eloquent型号编码镜头
DevDb提供代码镜头功能,用于:
- 查看Eloquent模型的基础表
- 为模型生成工厂(自动预填充来自底层表的真实数据)

> \[!注意\]
> 工厂生成也可通过上下文菜单获得
#### 查询解释器
查询解释器与 [MySQL可视化解释](https://mysqlexplain.com) 通过分析MySQL的查询执行计划来优化SQL查询。用途:
1. 打开一个包含SQL查询的Laravel PHP文件(Eloquent或 `DB` 立面)
1. 选择要分析的SQL查询
1. 点击 `Explain query` 编码镜头或选择 `Explain query` 从上下文菜单
1. 在浏览器中查看解释或复制URL

> \[!注意\]
### MCP集成
DevDb将您的数据库暴露给AI驱动的IDE和MCP客户端。你只需要配置一次,然后你就可以通过人工智能自然地查询你的数据库。
#### 克劳德代码
1. 在DevDb处于活动状态的情况下,在VS Code中打开您的项目
1. 在DevDb视图中单击锤子图标以复制服务器脚本路径

1. 使用CLI添加MCP服务器(替换您在步骤2中复制的路径):
claude mcp add --transport stdio devdb-mcp-server node " "
4. Claude Code现在可以使用以下工具查询您的数据库 `get-tables`, `get-schema`, `get-database-type`,以及 `run-query`
#### 适用于基于VS代码的IDE(游标、Windsurf、Cline等)
1. 在DevDb视图中单击锤子图标以复制MCP配置JSON
1. 打开IDE的MCP配置文件:
- **[VS Code](https://code.visualstudio.com/docs/copilot/customization/mcp-servers#_other-options-to-add-an-mcp-server)**: `.vscode/mcp.json`
- **[光标](https://cursor.com/docs/context/mcp#configuration-locations)**: `~/.cursor/mcp.json`
- **[帆板运动](https://docs.windsurf.com/windsurf/cascade/mcp#mcp_config-json)**: `~/.codeium/windsurf/mcp_config.json`
1. 将复制的JSON粘贴到相应的键下,然后重新加载IDE
您的AI助手现在可以访问您的数据库模式并运行查询。

> \[!注意\]
> 当你更新到新版本的DevDb时,你应该更新配置,因为版本号可能会改变。
## URI处理程序
DevDb提供了一个自定义URI处理程序,允许您直接从外部应用程序或链接打开特定的数据库表。这对于将DevDb与其他工具集成或创建频繁访问的表的快捷方式非常有用。
### URI格式
URI格式遵循以下模式:
vscode://devdb/open/table?connectionId=123&database=main&table=users&workspace=...
参数:
- `connectionId`:数据库连接的ID
- `database`:数据库名称
- `table`:要打开的表名
- `workspace`:(可选)工作区路径
## 支持
您还可以通过使用我们的赞助商提供的服务来支持这个项目:
- [Traycer AI](https://traycer.ai/#pricing1)
- [DevWorkspace Pro](https://devworkspacepro.com)
请务必退房 [其他项目](https://damms005.dev/projects) Damilola Olowookere提供其他赞助选择。
## 贡献
> \[!重要\]
> 目前,贡献仅限于扩展核心代码。UI代码不可用于公共贡献。
1. 分叉此存储库并在本地克隆您的分叉
1. 跑 `bun install` 安装依赖项
1. 为代码库做出贡献
1. 按 `F5` 启动调试器并在本地测试更改
1. 运行测试套件 `bun run test-services` 并确保所有测试通过
1. 将更改推送到叉子上
1. 打开此存储库的PR
1. 带上你的花! 💐🌺🌹