如何让Prisma生成TypeScript类型:无需连接数据库且不推送变更?
如何在不连接数据库、不推送变更的前提下用Prisma生成TypeScript类型?
当然有可行方法,核心是利用Prisma的prisma generate命令——这个命令本身就不依赖数据库连接,仅基于你的Prisma Schema文件生成类型和客户端代码。
具体步骤如下:
确保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即可,无需实际存在的数据库实例。运行生成命令
直接执行以下命令:npx prisma generate命令执行后,Prisma会在
node_modules/.prisma/client目录下生成完整的TypeScript类型定义和Prisma客户端代码,全程不会连接数据库,也不会向任何数据库推送变更。处理数据库特定类型
若Schema中使用了数据库专属类型(如PostgreSQL的uuid、MySQL的json),只要在Schema中正确声明(比如@db.Uuid),prisma generate依然能生成对应的TypeScript类型,无需依赖实际数据库验证。
需要注意:不要运行prisma db push或prisma migrate命令——这两个命令才会连接数据库并推送Schema变更,而prisma generate完全独立于这些操作。
内容的提问来源于stack exchange,提问作者Manel
相关产品推荐
相关产品推荐

