基于 Nestjs 的最佳实践。
Nest framework TypeScript starter repository.
$ pnpm install
# development
$ pnpm run start
# watch mode
$ pnpm run start:dev
# production mode
$ pnpm run start:prod
# unit tests
$ pnpm run test
# e2e tests
$ pnpm run test:e2e
# test coverage
$ pnpm run test:cov
nest --help
nest g co demo
nest g mo demo
nest g s demo
nest g res user
src/
├── common/ # 公共模块
│ ├── decorators/
│ ├── filters/
│ ├── guards/
│ ├── interceptors/
│ ├── pipes/
│ ├── dto/
│ └── utils/
├── config/ # 配置模块
│ └── config.module.ts
├── modules/ # 业务逻辑模块
│ ├── auth/ # 身份验证模块
│ │ ├── dto/
│ │ ├── auth.controller.ts
│ │ ├── auth.module.ts
│ │ ├── auth.service.ts
│ │ ├── jwt.strategy.ts
│ │ └── jwt-auth.guard.ts
│ ├── user/ # 用户模块
│ │ ├── dto/
│ │ │ ├── create-user.dto.ts
│ │ │ ├── update-user.dto.ts
│ │ ├── user.controller.ts
│ │ ├── user.module.ts
│ │ ├── user.service.ts
├── prisma/ # Prisma配置
│ └── prisma.service.ts
├── app.controller.ts # 应用的根控制器
├── app.module.ts # 应用的根模块
├── app.service.ts # 应用的根服务
├── main.ts # 应用入口文件
- logs.middleware
- 请求拦截
- 响应拦截
- 异常拦截
- prisma 错误拦截
- ioredis
- restful
- Winston
- sentry
- jwt
- guard
- express-session
- redis
- ali-oss
- mysql
- prisma
- swagger
- jest
运行以下命令以确保数据库迁移和 Prisma 客户端生成正确:
生成并应用迁移:
pnpx prisma migrate dev --name init
pnpx prisma generate
pnpx prisma studio
pnpm run start:dev
验证数据库结构:
pnpx prisma studio
- prisma vscode 插件
- pnpm 的安装
是的,你可以使用 Prisma 的 db pull 命令从现有的数据库导出表并生成 Prisma 模型。以下是具体步骤:
确保你的 .env 文件中配置了正确的 DATABASE_URL:
DATABASE_URL="mysql://test_admin:Pet20230206!%23%24_sDYsss@localhost:3307/plan"
如果还没有初始化 Prisma,可以先初始化:
npx prisma init
使用以下命令从现有数据库导出表并生成 Prisma 模型:
npx prisma db pull
这会连接到你的数据库并自动生成 prisma/schema.prisma 文件中的模型定义。
npx prisma generate
在所有 Prisma 项目中探索和操作数据的最简单方法。
npx prisma studio
nest g module user