Prisma 基本使用

news2024/9/30 22:39:20

以下内容官方文档都有,特此记录便于快速查阅文档。

Prisma CLI 作为开发依赖项安装到项目中

npm install prisma --save-dev

Prisma 配合 ts 很强大,所有我们可以结合 ts 一起使用:

npm install typescript ts-node @types/node --save-dev
npx tsc --init

最后,使用 Prisma CLI 的 init 命令设置 Prisma ORM:

npx prisma init

如果使用 mysql 也可以直接使用模板:

npx prisma init --datasource-provider mysql

然后会根目录下多一个名为 prisma 的新目录,其中包含一个名为 schema.prisma 的文件,该文件包含带有数据库连接变量和架构模型的 Prisma 架构。

一般来说,还需要在项目的根目录中创建 .env 文件,用于定义环境变量(例如您的数据库连接)。

比如:

这里 webstorm 可以安装一个插件 prisma orm 配合使用,提供代码高亮等。

schema.prisma

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init

generate client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

// 编写表结构

// 文章表
model Post {
  id        Int      @id @default(autoincrement())
  title     String
  content   String
  authorId  Int
  author    User    @relation(fields: [authorId], references: [id])  // 关联用户表
}

// 用户表
model User {
  id        Int      @id @default(autoincrement())
  username  String
  password  String
  posts     Post[] // 一对多关联文章表
}

.env

DATABASE_URL="mysql://root:123456@localhost:3306/user"

“mysql://账号:密码:@主机:端口/库名”

然后执行 prisma migrate dev 会自动连库创建表,创建表的语句也会放在 prisma 目录下:

中间需要的 migrate name 随便起,不重要。

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

对于“言而有信”之己见

大凡古文爱好者,都知晓《论语》中的“仁、义、礼、智、信”这五大做人的常理。 网络图片 儒家对于“言而有信”的认识十分理性,尤其是其中的“信”字,对于当今社会成堆“老赖”,简直就是直接打在他们脸上的大巴掌。​ 古人对于“…

强化学习-python案例

强化学习是一种机器学习方法,旨在通过与环境的交互来学习最优策略。它的核心概念是智能体(agent)在环境中采取动作,从而获得奖励或惩罚。智能体的目标是最大化长期奖励,通过试错的方式不断改进其决策策略。 在强化学习…

传统操作系统和分布式操作系统的区别

分布式操作系统和传统操作系统之间的区别,根植于它们各自的设计哲学和目标。要理解这些差异,需要从操作系统的基本定义、结构、功能以及它们在不同计算环境中的表现进行分析。每种系统都试图解决特定的计算挑战,因此在不同的使用场景下具有各…

互斥量mutex、锁、条件变量和信号量相关原语(函数)----很全

线程相关知识可以看这里: 线程控制原语(函数)的介绍-CSDN博客 进程组、会话、守护进程和线程的概念-CSDN博客 1.同步概念 所谓同步,即同时起步,协调一致。不同的对象,对“同步”的理解方式略有不同。如,设备同步,是…

前端——js补充

一、数学对象 1.随机数 // 0-1 console.log(Math.random()); // 0-9 console.log(Math.random() * 9); // 6-13 console.log(Math.random() * (13 - 6) 6); //n-m Math.random() * (m - n) n 2.取整 // 向下取整 console.log(Math.floor(1.9));//1 // 向上取整 console.log(…

解决端口被占用

当你被你的编译器提醒, 当前端口被占用, 但明明你的服务什么的都没有启用,这时有三种解决办法: 1 。 重启 。 重启解决80%的问题 2 。 修改你的端口号 。 3 。 去windows命令行中查看,端口占用情况 第一步 &#xf…

OpenStack Yoga版安装笔记(十五)Horizon安装

1、官方文档 OpenStack Installation Guidehttps://docs.openstack.org/install-guide/ 本次安装是在Ubuntu 22.04上进行,基本按照OpenStack Installation Guide顺序执行,主要内容包括: 环境安装 (已完成)OpenStack…

[卸载] 软件彻底卸载工具的下载及详细安装使用过程(附有下载文件)

一般软件安装的有问题,或者想重新安装其他版本就需要将原来的版本删除干净,但常常删不干净,本文分享一个软件彻底卸载工具,完成彻底卸载软件的工作 下载链接在文末 下载压缩包后解压 !!安装路径不要有中文…

激光切割机适用材质有哪些

激光切割机是一种利用激光束对各种材料进行高精度、高速度切割的机器设备。其适用材质广泛,包括但不限于以下两大类: 一、金属材料 不锈钢:激光切割机较容易切割不锈钢薄板,使用高功率YAG激光切割系统,切割不锈钢板的…

AMD Instinct™ MI200 GPU内存空间概述

AMD Instinct™ MI200 GPU memory space overview — ROCm Blogs 注意: 本博客之前是 AMD实验室笔记博客系列的一部分。 HIP API 支持在加速系统上为主机和设备内存提供多种分配方式。在本文中,我们将: 1. 介绍一组常用的内存空间 2. 识别每种内存空间的…

Kubernetes强制删除terminating状态的namespace

Kubernetes中的Namespace处于Terminating状态并且常规删除不起作用。 1.Namespace长时间处于Terminating状态往往是因为某些finalizers阻止了它的删除。 kubectl get namespace <namespace-name> -o json > namespace.json 2.编辑生成的 namespace.json文件&#xff…

今日指数项目A股大盘数据采集

1、A股大盘数据采集 1.1 A股大盘数据采集准备 1.1.1 配置ID生成器bean A股大盘数据采集入库时&#xff0c;主键ID保证唯一&#xff0c;所以在stock_job工程配置ID生成器&#xff1a; Configuration public class CommonConfig {/*** 配置基于雪花算法生成全局唯一id* 参与…

打点 - 泛微 E-Cology WorkflowServiceXml

请求路径 /services%20/WorkflowServiceXml显示如下&#xff0c;漏洞可能存在 利用&#xff1a; 根据提示在 CMD 处输入 Memshell 注入内存马&#xff0c;并点击执行&#xff0c;成功注入 冰蝎配置&#xff0c;输入内存马地址 成功连接 命令执行

2024/9/30 英语每日一段

The British Academy has created three high-profile awards to sit alongside the trophies it hands out to adult television shows--going some way, it is hoped, to replace Bafta’s abandoned children’s TV awards event. “Children’s programme-making has been …

【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)

总览 1.下载和解决依赖问题 2.修改相关参数 3.安装过程 一、下载和解决依赖问题 1.下载 去这里看看&#xff0c;填写相关的显卡参数&#xff0c;选择 linux 版本&#xff0c;然后开始下载。 https://www.nvidia.cn/drivers/lookup/ 进入这个选择界面&#xff1a; 开始下载&…

04-指向指针的指针

int main(int argc, const char* argv[]) {int x 5;int* p &x;*p 6;int** q &p;int*** r &q;printf("%d\n", *p);//指向p中的值 6printf("%d\n", *q);// 指向指针p的地址 printf("%d\n", *(*q));//指向p中地址中的值 6print…

3.1K Star,这款开源在线视频下载神器绝了,速度达 30M/S

Hi&#xff0c;骚年&#xff0c;我是大 G&#xff0c;公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目&#xff0c;一分钟 get 一个优秀的开源项目&#xff0c;挖掘开源的价值&#xff0c;欢迎关注。 在如今的数字时代&#xff0c;无论是个人用户还是企业&#xff0c;都…

学科竞赛管理平台:SpringBoot框架深度开发

摘 要 随着国家教育体制的改革&#xff0c;全国各地举办的竞赛活动数目也是逐年增加&#xff0c;面对如此大的数目的竞赛信息&#xff0c;传统竞赛管理方式已经无法满足需求&#xff0c;为了提高效率&#xff0c;竞赛管理系统应运而生。 本学科竞赛管理系统以实际运用为开发背景…

odoo中查找模型以及继承模型的全部字段

快捷键alt k呼出命令菜单&#xff0c;或者直接按alt h呼出界面如下&#xff1a; 输入模型 按模型的名称搜索 视图、字段在里面都能找到了 或者点击这里

TongESB7, TongGW, admin账号密码重置方式

停止控制台 修改系统库 identities 表 configuration字段中的password 重启manage