prisma 学习记录

news2025/2/11 20:53:53

1、prisma 可以看做是一个 ORM。
安装 prisma npm install prisma -D
设置要链接的数据库
npx prisma init --datasource-provider sqlite --datasource-provider + 要使用的数据库

2、prisma 中的模型,
表示底层数据库中的表或者集合。
生成 Prisma Client API 的基础
通过使用 prisma migrate (迁移)经模型映射到数据库表当中。此命令不适用于 mongodb 数据库。目前仅支持关系数据库。
3、prisma studio 中prisma 的 数据库图形化界面,可以查看和编辑数据库。
npx prisma studio
4、如果选择非关系型数据库, model 里的 ID 字段,名称必须为 _id , 且必须映射为 @map(“id”)
id String @id @default(auto()) @map("_id") @db.ObjectId

5、安装 prisma 客户端
npm install @prisma/client
在这里插入图片描述

每当更新 Prisma 模式时,都需要运行命令prisma db push来创建新索引并重新生成 Prisma Client。

安装@prisma/client包会调用该prisma generate命令,该命令会读取您的 Prisma 模式并生成Prisma 客户端代码。代码默认生成到文件夹中node_modules/.prisma/client。

更改数据模型后,您需要手动重新生成 Prisma Client 以确保node_modules/.prisma/client更新其中的代码:

prisma generate
在这里插入图片描述

prisma client 只负责向数据库发送查询

6、prisma client 常见的数据访问 api
在这里插入图片描述
在这里插入图片描述

Prisma client 工作示意
在这里插入图片描述

schema.prisma

由数据源、生成器、和数据模型定义三部分组成
在这里插入图片描述
当想 自定义 prisma 模式文件名称时,在使用 prisma generate 命令生成 prisma 客户端时,需要携带参数指明 文件路径。
在这里插入图片描述
model 的命名通常是大驼峰,如果你想最后生成的集合是 小驼峰,则可以 用 @@map('comments')
在这里插入图片描述

使用 mongodb 数据库

当在 prisma 中使用 mongodb 数据库时,需要将 mongodb 进行副本集部署。如果连接的是本地运行的 mongodb, 在使用 prisma client 进行写入时会报错。刚发推荐使用:
mongodb atlas
https://www.mongodb.com/docs/atlas/getting-started/

在这里插入图片描述
在定义模型时, _id 必须为一个 ObjectID

  id String @id @default(auto()) @map("_id") @db.ObjectId

使用 mongodb 时, 不支持 Prisma Migrate 命令,不支持 @@id 和 autoincrement()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/640192.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python中的延迟:如何暂停程序执行?

Python中的延迟:如何暂停程序执行? 如果你在编写Python程序时需要实现延迟效果,比如等待某些条件满足后再进行下一步操作,那么你可能需要使用Python提供的延迟功能。这篇文章将介绍Python中的延迟实现方法,并提供几个…

记一次面试中的相关问题

1. protobuf内部的实现原理 序列化与反序列化,比如对于数字它要求根据数字的大小选择存储空间,小于15的数字只用1个字节来表示,大于15的数用2个字节来表示,以此类推,这样要求可以尽可能地节省空间。Protobuf的一大特点…

chatgpt赋能python:Python教程:如何建立一个空列表

Python教程:如何建立一个空列表 Python是一种广泛应用于科学计算、数据分析、机器学习等领域的高级编程语言。在Python中,列表是一种非常重要的数据类型,可以用来存储许多不同类型的数据。在本文中,我们将介绍如何在Python中建立…

OJ Primed Subsequence

原题链接:传送锚点 1.题目 Description Given a sequence of positive integers of length n, we define a primed subsequence as a consecutive subsequence of length at least two that sums to a prime number greater than or equal to two. For ex…

【嵌入式IMAGE 3】opencv的搭建

1. OpenCV源代码下载地址 https://opencv.org/releases/ 2. 在windows平台编译(mingw版本) 2.1 下载cmake https://cmake.org/files/ 2.2 配置编译器环境变量 2.3 打开cmake-gui.exe a.Use default native compilers 使用默认的本机编译器 b.Specify n…

MyBatis(全)

文章目录 什么是MyBatis?MyBatis快速入门查询user表中所有数据 Mapper代理开发使用Mapper代理方式完成入门案例 MyBatis核心配置文件配置文件完成增删改查案例:完成品牌数据的增删改查操作准备环境查询-查询所有数据查询-查看详情查询-条件查询--1.多条件查询方法1…

css移动端

目录 谷歌模拟器 屏幕分辨率 视口 二倍图 适配方案 rem 简介 问题 媒体查询 移动端 设备宽度不同,HTML标签字号设置多少合适 flexible.js rem-移动端适配 less 注释 运算 嵌套 变量 导入 导出 禁止导出 谷歌模拟器 模拟移动设备,方…

MySQL Community Server的安装配置教程(Windows版本)

(1)了解MySQL Community Server: MySQL Community Server是开源的MySQL数据库服务的名称。它是MySQL AB在2000年推出的一个开源数据库服务器,现在由Oracle公司维护和管理。 MySQL Community Server是一个关系型数据库系统&#…

通讯录管理系统(cpp)

一 系统需求 主要用C来实现一个通讯录管理系统 需要包含以下功能 添加联系人:向通讯录中添加新人,信息包括姓名、性别、年龄、联系电话、家庭住址,最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按…

【Spring】— 动态SQL :MyBatis的关联映射

目录 MyBatis的关联映射1、关联关系概述2、MyBatis中的关联关系2.1 一对一2.2 一对多2.3 多对多 MyBatis的关联映射 在实际应用中,对数据库的操作会涉及多张表,这在面向对象中就涉及对象与对象之间的关联关系。针对多表之间的操作,MyBatis提…

全志V3S嵌入式驱动开发(wifi驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 荔枝派上面除了支持v3s自带的有线网口,还带有一个支持sd协议的esp 8089 wifi模块。有了这个模块,v3s没有网线,也…

chatgpt赋能python:Python程序与SEO:如何建立程序使您的网站优化更好

Python程序与SEO:如何建立程序使您的网站优化更好 今天,越来越多的网站和在线业务转向搜索引擎优化,以吸引更多访问者和客户。Python编程语言是一种快速、灵活、易于学习的工具,如果正确使用它可以使您的网站SEO更好。下面我们来…

【从删库到跑路】MySQL系列——数据库的介绍MySQL的启动

🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 文章目录 🍔什么是数据库⭐组成⭐数据库的优势 &#x1f35…

Spring Security--自动登录

也就是remember me 在配置链上加一个 然后发送请求时加上:remember-me字段 value值可以为,ture,1,on 我们记住登录后,关掉浏览器再打开,访问一下接口,可以访问,说明记住登录成功了。 因为有的…

Spring中Bean的生命 周期与作用域

文章目录 前言Bean的作用域概念Bean作用域类型1. singleton:单例作⽤域2. prototype:原型作⽤域(多例作⽤域)3. request:请求作⽤域4. session:回话作⽤域5. application:全局作⽤域6. websocke…

51单片机实训项目之“红外控制小风扇”代码详解

本代码实现的功能是通过红外遥控来控制风扇的转速。废话不多说,直接上代码。 另外补充一点红外通信的原理: 红外接收 NEC协议: 数据格式 发射端的方波图,接收端的正好与之相反,数据传输从最低位开始 NEC 标准下…

mqtt.fx连接阿里云物联网平台

这里写目录标题 注册公共示例创建产品添加设备创建云产品流转生成基本信息配置mqtt.fx客户端数据传送 前提条件:下载mqtt.fx软件,以及注册好阿里云物联网平台账号 本实验用两个mqtt.fx客户端接入阿里云物联网平台,来实现不同设备间消息的传输…

大数据Doris(四十):Routine Load基本原理和语法介绍

文章目录 Routine Load基本原理和语法介绍 一、基本原理 二、Routine Load 语法 Routine Load基本原理和语法介绍 例行导入(Routine Load)功能,支持用户提交一个常驻的导入任务,通过不断的从指定的数据源读取数据,将数据导入到 Doris 中。目前Rou

chatgpt赋能python:如何使用Python获取Listview

如何使用Python获取Listview 在现代数据驱动的世界中,处理大量数据已经成为一项关键技能。准确地说,操作大量数据要比操作一小部分数据要困难得多。Python是一门非常出色的编程语言,它的处理大量数据的能力无人能敌。在这篇文章中&#xff0…

MySQL面试题详解

优化 如何定位慢查询 mysql中慢查询通常发生在以下几种情况,聚合查询,多表查询,表数据量过大查询,深度分页查询。 表象:页面加载过慢,接口压测响应时间过长(超过1s) 定位慢查询的方法主要有两种。方法一…