9.1 安装依赖
#全局安装prisma
cnpm install prisma -g
#添加开发依赖
cnpm install prisma --save-dev
#创建 Prisma 架构文件模板,设置 Prisma ORM 项目
npx prisma init
#安装并生成 Prisma Client
cnpm install @prisma/client -g
cnpm install @prisma/client --save
9.2 连接数据库
若要连接数据库,您需要将 Prisma 模式中 datasource 块的 url 字段设置为数据库的 连接 URL
prisma/schema.prisma
datasource db { provider = "postgresql" url = env("DATABASE_URL")}
在这种情况下,url 是 通过环境变量设置的,该变量在 .env 中定义
.env
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"
现在需要调整连接 URL 以指向您自己的数据库。
数据库的 连接 URL 格式 取决于您使用的数据库。对于 PostgreSQL,其格式如下(所有大写部分是您特定连接详细信息的占位符)
postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA
9.3 同步数据库表model
npx prisma db pull
内省完成后,你的 Prisma 模式文件已更新
9.4 修改之前的CRUD
以查询为例
//mode: "insensitive" 代表不区分大小写
router.post(Controller + "/search", await (req, res, next) => {
try {
const data = await prisma.t_msd_msl_2.findMany({
where: {
AND: [
{
msl_id: {
contains: req.query.msl_id,
mode: "insensitive",
},
},
{
msl: {
contains: req.query.msl,
mode: "insensitive",
},
},
{
floor_life: {
contains: req.query.floor_life,
mode: "insensitive",
},
},
{
unit: {
contains: req.query.unit,
mode: "insensitive",
},
},
{
floor_environment: {
contains: req.query.floor_environment,
mode: "insensitive",
},
},
{
enabled: {
contains: req.query.enabled,
mode: "insensitive",
},
},
],
}
});
res.send(resultInfo(0, data));
} catch (error) {
res.send(resultInfo(1, "", error));
}
});
findMany、findUnique、create等方法参照:
CRUD (参考) | Prisma 文档 - Prisma 中文