家装公司网站建设新余市网站建设
2026/4/12 11:06:38 网站建设 项目流程
家装公司网站建设,新余市网站建设,产品开发是做什么的,河东区建设局网站setup 1.安装 Prisma CLI#xff08;开发依赖#xff09; npm install prisma --save-dev2.安装 Prisma Client#xff08;运行时依赖#xff09; npm install prisma/client3.初始化 Prisma 项目 使用 npx prisma init 命令初始化 Prisma 项目。该命令会在项目根目录下…setup1.安装 Prisma CLI开发依赖npminstallprisma --save-dev2.安装 Prisma Client运行时依赖npminstallprisma/client3.初始化 Prisma 项目使用 npx prisma init 命令初始化 Prisma 项目。该命令会在项目根目录下创建一个 prisma 文件夹并生成一个 schema.prisma 文件。默认创建是postgresqlnpx prisma init3.1指定数据库为sqlitenpx prisma init --datasource-provider sqlite3.2把默认数据更改成sqlite1.更改文件schema.prisma 内容如下generator client {provider “prisma-client-js”url env(“DATABASE_URL”)}datasource db {provider “sqlite”}2.更改环境文件(.env)内容如下DATABASE_URL“file:./dev.db”表示在当前目录下创建dev.db文件4.数据配置更改在.env文件更改相应信息DATABASE_URL“postgresql://johndoe:randompasswordlocalhost:5432/mydb?schemapublic”vscode 按装插件输入:prisma,截图如下5.定义数据模型model User{idInt id default(autoincrement())email String unique name String?}然后执行命令npx prisma migrate dev --name init6.更改或添加模型每次修改模型后都需要重新生成客户端代码npx prisma generate7.启动数据库npx prisma studio录入三笔数据效果如图下8.其它问题1.prisma.config.ts中的process 提示不存在npm install --save-dev types/node2.执行main.js 文件报错:import { PrismaClient } from ‘prisma/client’;^^^^^^^^^^^^SyntaxError: Named export ‘PrismaClient’ not found. The requested module ‘prisma/client’ is a CommonJS module, which may not support all module.exports as named exports.CommonJS modules can always be imported via the default export, for example using:解决方法一import pkg from ‘prisma/client’;const { PrismaClient } pkg;解决方法二修改 package.json加入{type:module}然后就可以正常使用命名导入import{PrismaClient}fromprisma/client;exportconst prismanew PrismaClient();方法三动态导入const{PrismaClient}await import(prisma/client);exportconst prismanew PrismaClient();3.错误信息如下D:\workspace\node\ormPrismanpm run dev main1.0.0 dev node main.jsnode:internal/modules/cjs/loader:1383const err new Error(message);^Error: Cannot find module ‘.prisma/client/default’Require stack:- D:\workspace\node\ormPrisma\node_modulesprisma\client\default.jsat Function._resolveFilename (node:internal/modules/cjs/loader:1383:15)at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)npx prisma generate4.PrismaClientConstructorValidationError: Unknown property datasources provided to PrismaClient constructor.Read more at https://pris.ly/d/client-constructorat yl (D:\workspace\node\ormPrisma\node_modulesprisma\client\runtime\client.js:66:3832)at new t (D:\workspace\node\ormPrisma\node_modulesprisma\client\runtime\client.js:70:1241)at file:///D:/workspace/node/ormPrisma/main.js:4:16at ModuleJob.run (node:internal/modules/esm/module_job:345:25)at async onImport.tracePromise.proto(node:internal/modules/esm/loader:651:26)at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)npminstallprisma/adapter-better-sqlite3import{PrismaClient}fromprisma/clientimport{PrismaBetterSqlite3}fromprisma/adapter-better-sqlite3;//import{PrismaPg}fromprisma/adapter-pg// 创建SQLite适配器 const adapternew PrismaBetterSqlite3({url:file:./dev.db})// 使用适配器初始化Prisma Client const prismanew PrismaClient({adapter, // 可选的日志配置 log:[{emit:stdout, level:query},{emit:stdout, level:info},{emit:stdout, level:warn},{emit:stdout, level:error}]});9.同步直接同步结构模型到数据库建议在开发环境使用npx prisma db push10.测试import{PrismaClient}fromprisma/clientimport{PrismaBetterSqlite3}fromprisma/adapter-better-sqlite3;//import{PrismaPg}fromprisma/adapter-pg// 创建SQLite适配器 const adapternew PrismaBetterSqlite3({url:file:./dev.db})// 使用适配器初始化Prisma Client const prismanew PrismaClient({adapter, // 可选的日志配置 log:[{emit:stdout, level:query},{emit:stdout, level:info},{emit:stdout, level:warn},{emit:stdout, level:error}]});//const prismanew PrismaClient()asyncfunctionmain(){try{console.log(Connecting to database...);// 测试基本连接 await prisma.$connect()console.log(Connected successfully!);// 创建用户示例 console.log(\n1. 创建用户...)const cuserawait prisma.user.create({data:{name:张三, email:zhangsanexample.com}})console.log(创建的用户:, JSON.stringify(cuser))// 查询用户 constusersawait prisma.user.findMany()console.log(Users:,users)console.log(用户及文章数据:, JSON.stringify(users, null,2))//update console.log(\n2. 更新用户...)const uuserawait prisma.user.update({where:{id:1}, data:{name:李四u}})console.log(更新的用户:, JSON.stringify(uuser))// //delete // console.log(\n3. 删除用户...)// const duserawait prisma.user.delete({// where:{//}//})}catch(error){console.error(Error details:)console.error(Message:, error.message)console.error(Stack:, error.stack)console.error(Name:, error.name)}}// 使用更详细的错误处理 main().then((){console.log(Program completed successfully)}).catch((error){console.error(Unhandled error in main:, error)}).finally(async(){console.log(Disconnecting...)await prisma.$disconnect()})关系modelmodel User{idInt id default(autoincrement())email String unique name String? posts Post[]}model Post{idInt id default(autoincrement())title String content String? published Boolean default(false)author User? relation(fields:[authorId], references:[id])authorId Int? createdAt DateTime default(now())updatedAt DateTime updatedAt}client 客户端操作// 创建文章示例 console.log(\n2. 创建文章...)const postawait prisma.post.create({data:{title:Prisma Client 7.3 使用指南, content:这是关于如何使用Prisma Client 7.3的详细指南, author:{connect:{id: user.id}}}})console.log(创建的文章:, post)// 查询数据示例 console.log(\n3. 查询用户及其文章...)const usersWithPostsawait prisma.user.findMany({include:{posts:true}})console.log(用户及文章数据:, JSON.stringify(usersWithPosts, null,2))// 更新数据示例 console.log(\n4. 更新文章状态...)const updatedPostawait prisma.post.update({where:{id: post.id}, data:{published:true}})console.log(更新后的文章:, updatedPost)// 删除数据示例 console.log(\n5. 删除文章...)const deletedPostawait prisma.post.delete({where:{id: post.id}})console.log(已删除文章ID:, deletedPost.id)const resultawait prisma.user.create({data: name:Nikolas, email:burkprisma.io, posts:{create:{title:Second, content:2,},});//分页 const resultawait prisma. user. findMany({skip:2, take:2,})

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询