prisma dev 是 Prisma 的一项本地开发功能,用于在开发者自己的机器上启动一个与 PostgreSQL 兼容的 Prisma Postgres 数据库,主要面向开发与测试场景。
用途 该命令的核心用途是启动本地 Prisma Postgres 数据库,提供一个完全运行在本机上的 PostgreSQL 兼容数据库。它适合在开发与测试阶段使用,并且便于后续迁移到生产环境的 Prisma Postgres 云服务。
主要能力
- 启动本地 PostgreSQL 兼容数据库。
- 可在终端中运行,也可作为后台进程运行。
- 支持为数据库实例命名,便于多个项目并行使用。
- 支持自定义 HTTP 服务端口、数据库服务端口以及用于迁移的影子数据库端口。
- 支持实例管理:列出所有实例、启动已有实例、停止实例(支持 glob 模式)、删除实例以及强制删除。
- 交互模式下提供键盘快捷键:q 退出、h 显示 HTTP URL、t 显示 TCP URL。
使用方式 基本命令为:
prisma dev [options]
可用选项包括:
- --name / -n:数据库实例名称,默认值为 default。
- --port / -p:HTTP 服务端口,默认 51213。
- --db-port / -P:数据库服务端口,默认 51214。
- --shadow-db-port:影子数据库端口(用于迁移),默认 51215。
- --detach / -d:后台运行,默认 false。
- --debug:启用调试日志,默认 false。
示例:
- 启动本地数据库:prisma dev
- 命名实例:prisma dev --name myproject
- 后台模式:prisma dev --detach
- 自定义端口:prisma dev --port 5000 --db-port 5432
实例管理命令:
- 列出所有实例:prisma dev ls
- 启动已有实例:prisma dev start myproject
- 停止实例:prisma dev stop myproject
- 使用 glob 模式停止:prisma dev stop "myproject*"
- 删除实例:prisma dev rm myproject
- 强制删除(先停止):prisma dev rm myproject --force
配置方式 需要在 prisma.config.ts 中配置使用本地 Prisma Postgres,示例代码为:
import 'dotenv/config' import { defineConfig, env } from 'prisma/config'
export default defineConfig({ schema: 'prisma/schema.prisma', migrations: { path: 'prisma/migrations', }, datasource: { // Local Prisma Postgres URL (from prisma dev output) url: env('DATABASE_URL'), }, })
典型工作流
- 启动本地数据库:prisma dev
- 在另一个终端运行迁移:prisma migrate dev
- 生成客户端:prisma generate
- 运行应用程序
生产迁移 准备进入生产环境时,可切换到 Prisma Postgres 云服务:
- 执行 prisma init --db
- 将 DATABASE_URL 更新为云连接字符串
适用场景 适用于本地开发、测试,以及需要在本机运行 PostgreSQL 兼容数据库的 Prisma 项目。命名实例和自定义端口便于同时管理多个项目。
限制 资料中未提供关于平台支持范围、系统资源要求、并发实例数量上限、数据持久化细节或与云服务之间差异的更多说明,这些内容暂未提供。