# @adminjs/typeorm 中文文档

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

版本：5\.0\.1
npm 元数据更新时间：2024-03-20T12:11:58.650Z
中文译文更新时间：2026-11-05T18:44:58.623Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：57.7 kB，56 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：adminjs ^7\.0\.0，typeorm ~0\.3\.0
- 首次发布：2021-06-18T16:19:41.666Z
- 最新版本发布：2024-02-14T13:13:58.415Z
- 近 30 天下载量：56727（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：15（近 12 个月 0 个）

## 中文简介

AdminJS 的 TypeORM 适配器

## 安装

```sh
npm install @adminjs/typeorm
```

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

## README

## 管理员类型

这是官员 [行政部门](https://github.com/SoftwareBrothers/adminjs) 集成的适配器 [类型ORM](https://typeorm.io/) (原始内容来自 [Arteha/admin-bro-typeorm 阿尔特哈/Admin-bro-typeorm 阿尔特哈/阿特哈/阿特哈/阿特纳-布罗-布罗-多克多克多克多克多克](https://github.com/Arteha/admin-bro-typeorm)(中文(简体) )

安装 : `yarn add @adminjs/typeorm`

## 使用量

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

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

AdminJS.registerAdapter({ Database, Resource });

// Optional: if you use class-validator you have to inject this to resource.
import { validate } from 'class-validator'
Resource.validate = validate
```

## 示例

```typescript
import {
  BaseEntity,
  Entity, PrimaryGeneratedColumn, Column,
  ManyToOne,
  RelationId
} from 'typeorm'
import { MyDataSource } from './my-data-source'
import * as express from 'express'
import { Database, Resource } from '@adminjs/typeorm'
import { validate } from 'class-validator'

import AdminJS from 'adminjs'
import * as AdminJSExpress from '@adminjs/express'

Resource.validate = validate
AdminJS.registerAdapter({ Database, Resource })

@Entity()
export class Person extends BaseEntity
{
  @PrimaryGeneratedColumn()
  public id: number;

  @Column({type: 'varchar'})
  public firstName: string;

  @Column({type: 'varchar'})
  public lastName: string;

  @ManyToOne(type => CarDealer, carDealer => carDealer.cars)
  organization: Organization;

  // in order be able to fetch resources in adminjs - we have to have id available
  @RelationId((person: Person) => person.organization)
  organizationId: number;

  // For fancy clickable relation links:
  public toString(): string
  {
    return `${firstName} ${lastName}`;
  }
}

( async () =>
{
  await MyDataSource.initialize();

  const adminJs = new AdminJS({
    // databases: [MyDataSource],
    resources: [
      { resource: Person, options: { parent: { name: 'foobar' } } }
      ],
    rootPath: '/admin',
  })

  const app = express()
  const router = AdminJSExpress.buildRouter(adminJs)
  app.use(adminJs.options.rootPath, router)
  app.listen(3000)
})()
```

## 多个“ 一个”

管理者支持 ManyToOne 关系, 但您也必须定义 @ RealationId , 如上例所示 .

## 捐款

### 运行示例应用程序

如果您想要在本地设置此程序, 这就是建议的过程 :

1.  叉子还原
2.  安装依赖关系

```
yarn install
```

3.  将此软件包登记为(链接软件包)\[[https://classic.yarnpkg.com/en/docs/cli/link/ (中文(简体) )](https://classic.yarnpkg.com/en/docs/cli/link/)\[ . \]

```
yarn link
```

4.  设置示例应用程序

安装所有依赖和使用先前链接的版本 `@adminjs/typeorm`。 。 。 .

```
cd example-app
yarn install
yarn link @adminjs/typeorm
```

可以选择,您可能想要链接您的本地版本 `adminjs` 软件包

5.  确定您拥有所有嵌入( 定义在 `example-app/ormconfig.js`(中文(简体) )
    
6.  以监视模式构建软件包
    

(在根文件夹中)

```
yarn dev
```

6.  在 dev 模式下运行应用程序

```
cd example-app
yarn dev
```

### 调取请求

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

```
yarn lint
yarn test
```

或带有适当的嵌入: `POSTGRES_USER=yourtestuser POSTGRES_DATABASE="database_test" yarn test`

## 许可证

AdminJS拥有2023rst.software的版权. 它是一种自由软件,可按下列规定重新分配: [自由主义](https://npmcn.com/package/%40adminjs/typeorm/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/typeorm 是什么？

AdminJS 的 TypeORM 适配器

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

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

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

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

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

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

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

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

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

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

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

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

