# @a\_team/prisma 中文文档

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

版本：3\.31\.18-win
npm 元数据更新时间：2026-11-05T11:29:29.856Z
中文译文更新时间：2026-11-06T03:25:47.564Z
软件包许可：ISC

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

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

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

- 包体积（解压后）：26.1 MB，24 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- peer 依赖：@prisma/client \>=5
- 首次发布：2024-07-16T15:32:02.532Z
- 最新版本发布：2026-11-05T11:29:29.670Z
- 近 30 天下载量：5629（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：875（近 12 个月 255 个）

## 中文简介

-   此套件包含一个共享的 Prisma schema, 组织为 [多个文件](https://www.prisma.io/blog/organize-your-prisma-schema-with-multi-file-support),用于多个储存库/项目。 - 说吧 通过集中计划定义,w

## 安装

```sh
npm install @a_team/prisma
```

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

## README

# A. 团队棱镜图书馆

-   此套件包含一个共享的 Prisma schema, 组织为 [多个文件](https://www.prisma.io/blog/organize-your-prisma-schema-with-multi-file-support),用于多个储存库/项目.
-   通过集中计划定义,我们确保一致性并减少重复工作:
    -   **一致性**:我们的目标是同一个MongoDB数据库。 如果我们使用不同的计划定义文件,就有可能出现不一致的模型定义,这可能导致冲突和数据覆盖.
    -   **效率**:一个单一的计划定义可以减少冗余的工作. 目前,Schema文件有300多行,随着我们登上更多的收藏品,这可以很容易地发展到1000+行. 通过协作制定单一的计划定义,我们可以精简我们的努力,提高整体质量.

### 安装

-   要安装此软件包, 请添加以下可选的依赖性( 在 `X.Y.Z` 代表版本 :

```json
"optionalDependencies": {
    "@a_team/prisma-win": "npm:@a_team/prisma@X.Y.Z-win",
    "@a_team/prisma-macos": "npm:@a_team/prisma@X.Y.Z-macos",
    "@a_team/prisma-linux": "npm:@a_team/prisma@X.Y.Z-linux",
    "@a_team/prisma-linux-debian": "npm:@a_team/prisma@X.Y.Z-linux-debian"
}
```

-   添加以下脚本为 `postinstall` 按服务需求更改( c) :

```javascript
const fs = require('fs');
const path = require('path');

const getLinuxDistribution = () => {
  try {
    const osRelease = fs.readFileSync('/etc/os-release', 'utf-8');
    const match = osRelease.match(/^ID=(.+)$/m);
    return match ? match[1].replace(/"/g, '') : 'unknown';
  } catch (error) {
    console.error('Failed to detect Linux distribution:', error.message);
    return 'unknown';
  }
};

const getPlatformPackage = () => {
  switch (process.platform) {
    case 'darwin':
      return '@a_team/prisma-macos';
    case 'win32':
      return '@a_team/prisma-win';
    default:
      const linuxDistro = getLinuxDistribution();

      if (linuxDistro === 'debian') {
        return '@a_team/prisma-linux-debian';
      }

      return '@a_team/prisma-linux';
  }
};

const platformPackage = getPlatformPackage();
const nodeModulesPath = path.join(__dirname, '..', 'node_modules');
const sourcePath = path.join(nodeModulesPath, platformPackage);
const targetPath = path.join(nodeModulesPath, '@a_team/prisma');

if (fs.existsSync(sourcePath)) {
  if (fs.existsSync(targetPath)) {
    fs.rmSync(targetPath, { recursive: true, force: true });
  }

  fs.renameSync(sourcePath, targetPath);
  console.log(`Renamed ${platformPackage} to @a_team/prisma`);
} else {
  console.error(`Platform-specific package ${platformPackage} not found`);
  process.exit(1);
}
```

-   上面的脚本将把所需的OS依赖性作为主要连接起来.

### 使用量

-   要使用库 :

```typescript
import { ATeamPrismaClient } from '@a_team/prisma';

export class DbClient extends ATeamPrismaClient {
  constructor(connectionUrl: string) {
    super(connectionUrl);
  }

  async onModuleInit() {
    await this.connect();
  }

  async onModuleDestroy() {
    await this.disconnect();
  }
}
```

### 游戏场

-   游乐场是一个专用空间,可以测试并实验棱镜客户端和斯克曼.
-   它包含各种显示如何与数据库模型交互的脚本.
-   在运行任何游乐场脚本之前,确保设置您的环境变量. 首先,复制该 `.env.sample` 文件为 `.env`数字 :

```sh
cp .env.sample .env
```

-   然后,在 `.env` 文档.
-   要运行操场脚本,请使用以下命令:

```sh
npx ts-node playground/missionSpec.ts
```

### 部署版本

-   鉴于版本模式 `MAJOR.MINOR.PATCH`、递增和释放应作为:
    -   `MAJOR` 修改不兼容的服务/代码时必须增加版本,
    -   `MINOR` 在以反向兼容的方式实现功能时,必须增加版本,
    -   `PATCH` 当反向兼容的bug修正(针对现有特性)时,必须增加版本.

### 出版新版本

-   调出最新的更改 `main` 分支并推出以下标记到寄存器 :
    
    ```bash
    git tag v<major>.<minor>.<patch> # matches v0.0.1
    git push origin tag v<major>.<minor>.<patch> # runs the publishing process
    ```
    
-   此标签创建了所需的新软件包版本并把它们推向 npm 寄存器,
    
-   A 类 `release` 编辑 `github` 仓库生成,
    
-   随着发行量的改变,向所需的频道发送了不及时的通知.

## 常见问题

### @a\_team/prisma 是什么？

此套件包含一个共享的 Prisma schema, 组织为 多个文件,用于多个储存库/项目。 - 说吧 通过集中计划定义,w

### 如何安装 @a\_team/prisma？

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

### @a\_team/prisma 支持 TypeScript 吗？

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

### @a\_team/prisma 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @a\_team/prisma 可以商用吗？

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

### @a\_team/prisma 的下载量有多少？

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

### @a\_team/prisma 还在维护吗？

最新版本 3\.31\.18-win 发布于 2026/11/05（今天）；至今共发布 875 个版本，其中过去 12 个月发布了 255 个；首次发布于 2024/07/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

