# @adminjs/prisma 中文文档

规范地址：https://npmcn.com/package/%40adminjs/prisma/

版本：5\.0\.4
npm 元数据更新时间：2025-06-18T12:45:43.788Z
中文译文更新时间：2026-11-05T18:36:08.633Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40adminjs/prisma
原文对照：https://npmcn.com/package/%40adminjs/prisma/?lang=original
项目主页：https://github.com/SoftwareBrothers/adminjs-prisma#readme
源码仓库：https://github.com/SoftwareBrothers/adminjs-prisma

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：56.3 kB，42 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@prisma/client ^5\.0\.0 \|\| ^6\.0\.0，adminjs ^7\.0\.0
- 首次发布：2021-10-15T10:28:29.732Z
- 最新版本发布：2025-06-18T12:45:43.459Z
- 近 30 天下载量：64906（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 0 个）

## 中文简介

行政JS 的 Prisma 适配器

## 安装

```sh
npm install @adminjs/prisma
```

也可以使用：`pnpm add @adminjs/prisma`、`yarn add @adminjs/prisma`、`bun add @adminjs/prisma`

## README

## 校长

这是官员 [行政部门](https://github.com/SoftwareBrothers/adminjs) 集成的适配器 [普里斯马](https://prisma.io/) 进入行政司.

### 安装

-   线条 : `yarn add @adminjs/prisma`
    
-   无 : `npm install @adminjs/prisma`
    

## 使用量

插件可以使用标准注册 `AdminJS.registerAdapter` 方法.

```typescript
import { Database, Resource } from '@adminjs/prisma'
import AdminJS from 'adminjs'

AdminJS.registerAdapter({ Database, Resource })
```

## 示例(基本)

整个代码可见于 `example-app` 目录在仓库中.

```typescript
import express from 'express'
import AdminJS from 'adminjs'
import AdminJSExpress from '@adminjs/express'
import { Database, Resource, getModelByName } from '@adminjs/prisma'
import { PrismaClient } from '@prisma/client'
import { DMMFClass } from '@prisma/client/runtime'

const PORT = process.env.port || 3000

const prisma = new PrismaClient()

AdminJS.registerAdapter({ Database, Resource })

const run = async () => {
  const app = express()

  const admin = new AdminJS({
    resources: [{
      resource: { model: getModelByName('Post'), client: prisma },
      options: {},
    }, {
      resource: { model: getModelByName('Profile'), client: prisma },
      options: {},
    }, {
      resource: { model: getModelByName('Publisher'), client: prisma },
      options: {},
    }],
  })

  const router = AdminJSExpress.buildRouter(admin)

  app.use(admin.options.rootPath, router)

  app.listen(PORT, () => {
    console.log(`Example app listening at http://localhost:${PORT}`)
  })
}

run()
  .finally(async () => {
    await prisma.$disconnect()
  })
```

## 示例( 自定义客户端输出路径)

如果您定义了您 Prisma 计划中的自定义客户端输出路径, 例如 :

```prisma
generator client {
  provider = "prisma-client-js"
  output = "./client-prisma"
}
```

你必须:

-   导入您的自定义 Prisma 客户端
-   提供给每个使用 Prisma 客户端的资源

_示例_数字 :

```typescript
// other imports
import PrismaModule from '../prisma/client-prisma/index.js';

// ...

const prisma = new PrismaModule.PrismaClient();

// ...

// Notice `clientModule` per resource
const admin = new AdminJS({
  resources: [{
    resource: { model: getModelByName('Post', PrismaModule), client: prisma, clientModule: PrismaModule },
    options: {
      properties: {
        someJson: { type: 'mixed', isArray: true },
        'someJson.number': { type: 'number' },
        'someJson.string': { type: 'string' },
        'someJson.boolean': { type: 'boolean' },
        'someJson.date': { type: 'datetime' },
      },
    },
  }, {
    resource: { model: getModelByName('Profile', PrismaModule), client: prisma, clientModule: PrismaModule },
    options: {},
  }, {
    resource: { model: getModelByName('Publisher', PrismaModule), client: prisma, clientModule: PrismaModule },
    options: {},
  }],
});

// ...
```

## ManyTo One / Many 变数

这些关系目前没有默认支持. 您可以使用自定义动作和组件管理它们 .

## 调取请求

在你做公关前 确定所有的测试都通过 和你的代码不会引起linter错误. 你可以通过运行来做到这一点:

```
yarn lint
yarn test
```

确定你有一个 `.env` 文件为 `DATABASE_URL` 页:1.

## 运行本地代码修改的示例应用程序

需要 MySQL 数据库 。 您可以使用数据库 `adminjs-example-app`数字 : [https://github.com/软件兄弟会/adminjs-example-app/blob/master/docker-compose.yaml#L24](https://github.com/SoftwareBrothers/adminjs-example-app/blob/master/docker-compose.yaml#L24)

```
$ yarn
$ yarn build                  # after making changes or run "yarn dev" and open a new terminal for next command
$ yarn link
$ cd example-app
$ yarn
$ npx prisma generate
$ npx prisma migrate dev
```

现在复制 `example-app/node_modules/.prisma` 文件夹进入 `node_modules/.prisma`。需要这样做,因为安装库依赖性在测试文件夹中检测到不同的Prisma schema.

继续 `example-app` 文件夹 :

```
$ yarn link "@adminjs/prisma"
$ yarn build
$ yarn start
```

该应用程序应从3000端口开始.

## 许可证

AdminJS拥有2023rst.software的版权. 它是一种自由软件,可按下列规定重新分配: [自由主义](https://npmcn.com/package/%40adminjs/prisma/LICENSE.md) 文档.

## 关于 rst. 软件

![](https://pbs.twimg.com/profile_images/1367119173604810752/dKVlj1YY_400x400.jpg)

我们是一个开放、友好的团队.

-   我们随时可以 [雇用](https://www.rst.software/estimate-your-project)。 。 。 .
-   如果你想为我们工作.. [职业页面](https://www.rst.software/join-us)。 。 。 .

## 常见问题

### @adminjs/prisma 是什么？

行政JS 的 Prisma 适配器

### 如何安装 @adminjs/prisma？

在项目目录运行 npm install @adminjs/prisma，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@prisma/client（^5\.0\.0 \|\| ^6\.0\.0）、adminjs（^7\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @adminjs/prisma 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @adminjs/prisma 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @adminjs/prisma 可以商用吗？

@adminjs/prisma 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @adminjs/prisma 的下载量有多少？

根据 npm 官方下载统计，@adminjs/prisma 在 2026/10/05 – 2026/11/03 这 30 天内被下载 64,906 次，日均约 2,164 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @adminjs/prisma 还在维护吗？

最新版本 5\.0\.4 发布于 2025/06/18（1\.4 年前）；至今共发布 17 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/10/15。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

