nestjs对sqlite数据库使用prisma连接

使用 SQLite 数据库,集成到 NestJS 项目中与 PostgreSQL 的方式非常相似。Prisma 支持多种数据库,包括 SQLite,只需要在 Prisma 配置中修改数据库连接字符串和一些数据库设置。

步骤:使用 SQLite 配置 Prisma 和 NestJS

1. 安装依赖

首先,安装 Prisma@prisma/client,并且确保你安装了 SQLite 驱动。

# 安装 Prisma 和相关依赖
npm install @prisma/client

# 安装 Prisma CLI (用于生成 Prisma 文件)
npm install prisma --save-dev
2. 初始化 Prisma

接下来,初始化 Prisma,生成相关的文件(prisma/schema.prisma)。

npx prisma init

这会在项目根目录下创建一个 prisma 文件夹,并包含一个 schema.prisma 文件。

3. 配置 schema.prisma 文件

prisma/schema.prisma 文件中,设置 SQLite 数据库的连接信息。可以使用本地文件作为 SQLite 数据库。

// prisma/schema.prisma

datasource db {
  provider = "sqlite"
  url      = env("DATABASE_URL") // 从环境变量中读取数据库连接字符串
}

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

model User {
  id        Int     @id @default(autoincrement())
  name      String
  email     String  @unique
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
}

.env 文件中设置 DATABASE_URL 来指定 SQLite 数据库文件的路径:

DATABASE_URL="file:./dev.db"  # SQLite 数据库文件
4. 生成 Prisma Client

配置了 schema.prisma 后,需要生成 Prisma Client 以便在代码中使用。

npx prisma generate
5. 创建 Prisma Service

接下来,创建一个 PrismaService 来封装 Prisma Client。将 PrismaService 用作 NestJS 中的服务,并注入到其他模块中进行数据库操作。

// src/prisma/prisma.service.ts

import {
    Injectable } from '@nestjs/common';
import {
    PrismaClient } from '@prisma/client';

@Injectable()
export class PrismaService extends PrismaClient {
   
  constructor() {
   
    super();
  }
}
6. 创建 Prisma Module

PrismaService 提供为一个模块,以便在其他模块中使用它。

// src/prisma/prisma.module.ts

import {
    Module } from '@nestjs/common';
import {
    PrismaService } from './prisma.service';

@Module({
   
  providers: [PrismaService],
  exports: [PrismaService],  // 导出 PrismaService 以便其他模块使用
})
export class PrismaModule {
   }
7. 创建用户模块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值