You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Prisma生成TypeScript类型:无需连接数据库且不推送变更?

如何在不连接数据库、不推送变更的前提下用Prisma生成TypeScript类型?

当然有可行方法,核心是利用Prisma的prisma generate命令——这个命令本身就不依赖数据库连接,仅基于你的Prisma Schema文件生成类型和客户端代码。

具体步骤如下:

  1. 确保Schema文件完整合法
    你的schema.prisma需要包含完整的模型定义,以及格式正确的datasource块(即使对应的数据库不存在)。比如使用SQLite作为数据源(无需实际数据库文件):

    datasource db {
      provider = "sqlite"
      url      = "file:./dummy.db"
    }
    
    generator client {
      provider = "prisma-client-js"
    }
    
    model User {
      id    Int     @id @default(autoincrement())
      name  String?
      email String  @unique
    }
    

    哪怕dummy.db文件不存在,也不影响类型生成。如果用其他数据库(如PostgreSQL),只需填写格式合法的URL即可,无需实际存在的数据库实例。

  2. 运行生成命令
    直接执行以下命令:

    npx prisma generate
    

    命令执行后,Prisma会在node_modules/.prisma/client目录下生成完整的TypeScript类型定义和Prisma客户端代码,全程不会连接数据库,也不会向任何数据库推送变更。

  3. 处理数据库特定类型
    若Schema中使用了数据库专属类型(如PostgreSQL的uuid、MySQL的json),只要在Schema中正确声明(比如@db.Uuid),prisma generate依然能生成对应的TypeScript类型,无需依赖实际数据库验证。

需要注意:不要运行prisma db push或prisma migrate命令——这两个命令才会连接数据库并推送Schema变更,而prisma generate完全独立于这些操作。

内容的提问来源于stack exchange,提问作者Manel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:36:53