prisma1.0实践
Prisma1.0简介
prisma代替的传统的ORM,简化了数据库工作流程,有以下三个特性
- Access: 使用自带生成的Prisma客户端能进行类型安全的数据库访问,支持语言:Javascript typescript go;支持数据库:MySQL, PostgreSQL, MongoDB
- Migrate:数据库可以迁移
- Manage: 可利用Prisma Admin进行可视化管理
作用 - 构建graphqls 服务器 完全支持Apollo 生态体系
- 能构建rest gRPC风格api
- 非常灵活的api,用于处理关系数据和事务
prisma的一些重要概念
datamodal
定义和特性
datamodel 是数据模型,会根据这个生成数据表,并且也是prisma clinet api的基础,对于数据模型定义的每个模型。都会为该模型生成Prisma客户端操作,包括:
- 读取一条线记录
- 读取多条记录
- 写入记录
- 更新记录
- 删除记录
- 判断记录是否存在
- 在模型的任何记录上执行写操作时,接收实时更新
语法
datamodal使用的是Graphql SDL语法,在deploy.yml中定义路径
下面是例子:
type User {id: ID! @id username: String! @unique email: String! @uniquepassword: String!createdAt: DateTime! @createdAtupdatedAt: DateTime! @updatedAtrole: Role! @relation(link: INLINE)posts: [Post!]!
}type Post {id: ID! @idtitle: String!content: Stringpublic: Boolean! @default(value: false)createdAt: DateTime! @createdAtupdatedAt: DateTime! @updatedAtauthor: User @relation(link: INLINE)type: Type!
}type Role {id: ID! @idname: String! @uniquecreateAt: DateTime! @createdAtupdateAt: DateTime! @updatedAtusers: [User!]!
}type Type {id: ID! @idname: String! @uniquecreateAt: DateTime! @createdAtupdateAt: DateTime! @updatedAtposts: [Post]
}
prisma server
prisma server:位于数据库顶部的独立基础结构组件
prisma client
prisma client是自动生成的库,它允许连接到prisma server ,允许读写数据库,和访问数据
Prisma1.0 实践
起步
- 安装graphql cli
yarn global add prisma
- 依赖docker 安装docker
- prisma init 初始化项目
prisma init 项目名称
根据提示选择,可以选择已经存在的数据或者新建数据库,也可以选择生成的client客户端类型
会生成文件目录如下
-generated / prisma-client 这里面是prisma的客户端,是根据datamodal自动生成的prisma 的一些interface
-datamodel.prisma
-docker-compose.yml
-prisma.yml
4.进入项目根目录 构建docker镜像
docker compose up --build -d
如果选择的是新建数据库,这里会起包括一个数据库容器和一个prism server
如下:
5. prisma deploy 部署datamodel
6. 浏览器输入 localhost:4466 会看到graphql playground
7. 浏览器输入 localhost:4466/_admin 会看到Prisma Admin管理界面(也可执行命令prism admin打开)
prisma1.0实践相关推荐
- ts引入公共方法_vue3+TS+ant2.0 实践指南
(内容全部手打,错别字见谅) 刚刚做完一个小项目,用时大概一周左右,我迫不及待的用上了vue3,开发体验还是非常的好.自从有了组合API,逻辑代码也可以复用了,大家可以开始写祖传的代码了. 一. 搭建 ...
- vue2实践揭秘pdf_《Vue2.0 实践揭秘》终于出版啦!
不知不觉间在园子开博都两年多了,最近一些园友问最近去哪了为何都没有新的文章了.最近确实发生了很多的事,一是忙工作二就是忙着写书.这还得多些园子的小编,自两年前发表的"架构师修炼"系 ...
- Atlas 2.1.0 实践之编译Atlas-Hive
Atlas 2.1.0 实践之编译Atlas-Hive 问题前景: Hive 2.2.0以下的低版本存在bug,字段级的血缘数据不能自动生成,需升级hive版本到2.2.0及以上才能正常生成字段级的血 ...
- OAuth1.0实践之foursquare客户端同步到饭否
上回说完了<OAuth2.0实践之foursquare客户端登录>这回还是要回来说OAuth1.0. 还是我写的那个foursquare的web客户端程序.其中加上了同步到饭否的功能,原来 ...
- Vue3.0实践:使用Vue3.0做JSX(TSX)风格的组件开发
前言 我日常工作都是使用React来做开发,但是我对React一直不是很满意,特别是在推出React Hooks以后. 不可否认React Hooks极大地方便了开发者,但是它又有非常多反直觉的地方, ...
- vue3.0实践之写tsx语法实例
00:下载 yarn add @vitejs/plugin-vue-jsx -D 01:引入 vite.config.ts 1 2 3 4 5 6 7 8 import { defineConfig ...
- MQTT协议详解及v5.0实践——实践类
本文主要包含了以下内容: 1)MQTT协议演进历史及协议特点,总结和分析MQTT协议族的优缺点,分析和总结了为什么相比于其他协议,MQTT适合IoT,业内支持现状等. 2)阿里云IoT MQTT3和5 ...
- PowerShell 2.0 实践(十二)管理 SQL Server 2008 R2(1)
DBA可以使用的工具很多,对于SQL Server来说,有查询分析器.事件探查器.命令行工具等,其中SQL语句是重中之重,但是PowerShell的出现使得DBA又多了一种选择. 测试脚本下载 本系列 ...
- Symfony3.0 实践教程 (三) 安装与配置Symfony
安装与配置Symfony 原文 http://symfony.com/doc/current/book/inst... 通过 Composer 来创建一个 Symfony 应用 安装好 compose ...
- hadoop2.6.0实践:002 检查伪分布式环境搭建
1.检查网络配置 [root@hadoop-master ~]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop-master GA ...
最新文章
- 1.3 图像边缘检测edge函数的用法
- 汉诺塔--(数据结构)
- MongoDB shell 操作
- 做好的html 保存不了,有些网页不能保存,或者保存后没有内容,怎么办?
- jar 工程我怎么在网页上url访问某一个方法_搜狗用这个骚技术,把百度逼上了绝路。。。...
- 点击文字,把input type=radio也选中
- gj4 深入类和对象
- 演讲者模式投影到幕布也看到备注_家用投影幕布怎么选?(看这一篇就明白了)...
- 网易面经(Java开发)
- windous和Linux桌面版的比较
- 3726.调整数组-AcWing题库
- ocr图像识别引擎_CycleGAN作为OCR图像的去噪引擎
- let var const的区别
- 数据库原理(上)--收集得空看
- python输入一个正整数_Python题目解答:输入一个整数N,输出N的所有最小因子
- STM32 定时器的简单应用 1ms中断代码
- Qgis教程07:矢量数据属性编辑
- 海淀区第九届单片机竞赛获奖名单_2014年北京市中小学生单片机获奖名单-获奖名单...
- Platform 概述
- FPGA学习笔记(十二)IP核之FIFO的学习总结
热门文章
- (十三)ATP应用测试平台——springboot集成kafka案例实战
- 新能源车牌识别系统的设计与实现
- IDEA的TODO的使用
- Liunx文件常用命令总结
- UG/NX二次开发Siemens官方NXOPEN实例解析—2.3 Selection_UIStyler(边倒角)
- Beautiful Soup的安装
- 「津津乐道播客」#301 这是一期价值3000元的当代社畜科学点餐指南
- 中国天气网 天气预报API 国家气象局 根据城市名称抓取城市ID,XML格式、JSON格式、图片代码
- hive查看表中列的信息命令_Linux查看硬件信息之dmidecode命令详解
- 苹果CEO库克的逆袭之路