@application-kit/typeorm

中文文档
0.5.2发布于 2026/11/07MITTypeScriptESM + CJS近 30 天下载 2496

-=YTET -伊甸园字幕组=- 翻译: 邮递, SQL - \\\\\\\\\\\\\\\\\\\\\\\\\\\\\

中文使用文档
文档目录8 节
  1. Установка
  2. Точки
  3. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF…
  4. QQ 查询
  5. ORM -
  6. *
  7. • 邮递员
  8. CLI 国家

@ application- kit/ t类型orm

QQ TypeORM:QQ (пагинатор,сортировка,фильтры),курсорный пагинатор SelectQueryBuilder时 where{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你还不知道 邮递员.

Установка

yarn add @application-kit/typeorm

对等者 : typeorm, (中文(简体) ), @nestjs/common; для /nest —— 说 @nestjs/cqrs, (中文(简体) ), @nestjs/typeorm, (中文(简体) ), nestjs-pino, (中文(简体) ), class-transformer, (中文(简体) ), class-validator, (中文(简体) ), reflect-metadata页:1 DatabaseLogger входа /logging —— 说 nestjs-pino (объявлены:корню也 /listing (原始内容存档于2018-09-28). qq.

Точки

ВходЧтоЗависимости
@application-kit/typeorm/listingFilterInterface, (中文(简体) ), FiltersMatchMode, (中文(简体) ), SortingInterface, (中文(简体) ), SortOrder, (中文(简体) ), PaginatorInterface, (中文(简体) ), ListingRepositoryInterface. . . .
@application-kit/typeormgetListByCursor, (中文(简体) ), CursorPaginator, (中文(简体) ), getWhereByFilters, (中文(简体) ), isUniqueViolation, (中文(简体) ), estimateRowCount, (中文(简体) ), withIdTiebreaker, (中文(简体) ), AbstractOrmEntity, (中文(简体) ), PackageOrmInterfacetypeorm, (中文(简体) ), @nestjs/common
@application-kit/typeorm/nestTypeormRootModule, (中文(简体) ), ListingQuery, (中文(简体) ), ListingHandler, (中文(简体) ), DatabaseConfig, (中文(简体) ), DatabaseEnvironment, (中文(简体) ), createCliDataSource@nestjs/common, (中文(简体) ), @nestjs/cqrs, (中文(简体) ), @nestjs/typeorm, (中文(简体) ), nestjs-pino, (中文(简体) ), class-transformer, (中文(简体) ), class-validator, (中文(简体) ), reflect-metadata
@application-kit/typeorm/loggingcreateTypeormLogger, (中文(简体) ), TypeormQueryLogger, (中文(简体) ), createSqlParameterMask, (中文(简体) ), runAsInfrastructureQuery, (中文(简体) ), isInfrastructureQuery, (中文(简体) ), SqlLoggerInterface, (中文(简体) ), DatabaseLoggernestjs-pino —— 说 createTypeormLogger и DatabaseLogger

Клиент (Ve, GraphQL-типы) только (только) /listing-=YTET -伊甸园字幕组=- 翻译:, - конфиг только во /nest{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我还得说 @nestjs/typeorm编号 :nestjs-pino не.

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

import { getListByCursor } from '@application-kit/typeorm'
import type { ListingRepositoryInterface } from '@application-kit/typeorm/listing'

export class UserRepository implements ListingRepositoryInterface<User> {
  public async list(paginator, sorting, filters) {
    return getListByCursor(UserEntity, this.repository.createQueryBuilder('user'), toDomain, paginator, filters, sorting)
  }
}

Неверный,курсор InvalidPageCursorError (单位:千美元)BadRequestException,HTTP 400) (中文(简体) ).

QQ 查询

import { ListingHandler, ListingQuery } from '@application-kit/typeorm/nest'

export class GetUsersQuery extends ListingQuery {}

@QueryHandler(GetUsersQuery)
export class GetUsersHandler extends ListingHandler<User> {
  public constructor(@Inject(USER_REPOSITORY) repository: UserRepository) {
    super(repository)
  }
}

ORM -

AbstractOrmEntity . . . . . id (乌伊德), createdAt, (中文(简体) ), updatedAt· ; OrmEntityProps<E> . . . . . сущности. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 AbstractEntity (原始内容存档于2018-09-29). DDD-библиотек.

*

TypeormQueryLogger . . . . . Logger (原始内容存档于2018-09-26) (中文(简体) ). TypeORM поверх (简体)SqlLoggerInterface数字 : debug编号 :info编号 :warn编号 :error. SQL приложения info {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你说什么 warn, (中文(简体) ), упавший- error с под err(中文(简体) ). SQL runAsInfrastructureQuery (健康, ) ====================================================================================================== (================================================== debug。 。 。 .

createTypeormLogger(pinoParams, maskSqlParameters?) - сборка на логгере: TypeormQueryLogger поверх DatabaseLogger {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干嘛? {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}你觉得呢TypeormRootModule? \ CLI \ \ \ \ \ \ \ \ {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎么样? 校对:Soup

import { createSqlParameterMask, createTypeormLogger } from '@application-kit/typeorm/logging'

const maskSqlParameters = createSqlParameterMask({
  // Порог усечения строки; по умолчанию 256 — user-agent сессии доезжает целиком, дамп обрезается.
  maxValueLength: 256,
  // Формы потребителя проверяются раньше форм по умолчанию.
  forms: [{ label: 'session-token', pattern: /^[\da-f]{64}$/u }],
})

const logger = createTypeormLogger(pinoParams, maskSqlParameters)

-=YTET -伊甸园字幕组=- 翻译: bcrypt-хеши, JWT-хеши, hex-хеши, 32-символов, AES-GCM-из, Base64-кусков, Base32-от 16-и 基数64 → 40 — — — — — — — — — — — [masked:<label>]; значение; порога; с …[truncated:<длина>]. (英文). QQ (电邮, QQ, QQ) QQ QQ : QQ. (原始内容存档于2018-10-21). QQ, объекты (JSONB)-. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.

DatabaseLogger . . . . . PinoLogger с DatabaseLogger:########## #################################################################################################################################################################################################################################################### (原始内容存档于2018-09-29). SQL. 说吧

return runAsInfrastructureQuery(async () => this.health.check(indicators))

• 邮递员

DatabaseConfig собирает DataSourceOptions из DB_* (单位:千美元)DatabaseEnvironment {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 class-validator{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢, statement_timeout сессии,стратегия也 TypeormPluralNamingStrategy ~ ~ ~ ~ ~ ~ ~ ~. entities, (中文(简体) ), migrations и logger {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我还得去.

ПеременнаяНазначение
DB_HOST, (中文(简体) ), DB_PORT, (中文(简体) ), DB_DATABASE, (中文(简体) ), DB_USERNAME, (中文(简体) ), DB_PASSWORD{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢
DB_SSL_CA_FILE{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你应该知道 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你应该知道
DB_STATEMENT_TIMEOUT_MS(原始内容存档于2018-10-29). SQL-Q;. (原始内容存档于2018-09-26). QQ, обслуживающим; CLI и; CLI и-: них; CLI и; CLI и; CLI консьюмерам-: них; CLI: них; CLI:

И:

import { DatabaseConfig, DatabaseEnvironment, TypeormRootModule } from '@application-kit/typeorm/nest'

// @libs-for-dev/nestjs-config-module: конфиг и env-класс — провайдеры, валидация на старте
const databaseConfigsModule = ConfigsModule.forFeature([DatabaseConfig], [DatabaseEnvironment])

TypeormRootModule.forRoot({ imports: [databaseConfigsModule] })

TypeormRootModule.forRoot({ imports, maskSqlParameters? }) —— 说 TypeOrmModule.forRootAsync с DatabaseConfig, (中文(简体) ), autoLoadEntities (实体 装备 ) TypeOrmModule.forFeature? ? 吗 createTypeormLogger{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 LoggerModule nestjs-pino (单位:千美元)PARAMS_PROVIDER_TOKEN: {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你说什么.

createDataSourceOptions({ maxQueryExecutionTime }) -=YTET -伊甸园字幕组=- 翻译:.

CLI 国家

createCliDataSource 数据来源 typeorm -d (原始内容存档于2019-09-29) (英语). QQ Nest - : DatabaseConfig时 ============================================================================================================== orm (单位:千美元)PackageOrmInterface=================================================== (==============================================================================================================================================.

import { orm as mailerOrm } from '@application-kit/mailer'
import { orm as outboxOrm } from '@application-kit/transaction-outbox'
import { createCliDataSource, DatabaseConfig, DatabaseEnvironment } from '@application-kit/typeorm/nest'

export default createCliDataSource({
  app: { buildDirs: ['modules', 'libs'], sourceDirs: ['src'] },
  config: new DatabaseConfig(exposeObjectWithValidation(process.env, DatabaseEnvironment)),
  logger: typeormQueryLogger,
  packages: [outboxOrm, mailerOrm],
})

——cwd CLI; ———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— **/typeorm/migrations/实体 **/typeorm/entities/。 。 。 . sourceDirs -=ytet -伊甸园字幕组=- 翻译: .ts编号 :.js & # 实体( & # # # # ## # migration:generate (笑声). buildDirs . . . . . .js (рядом .d.ts),实体 migration:run не. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得怎样 node_modules {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢. logger {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 ================================================================================================= (=================================================================================/logging) (中文(简体) ).

版本与发布记录

@application-kit/typeorm 共发布 9 个版本,首次发布于 2026/10/04;过去 12 个月发布了 9 个版本。

版本发布日期距今
0.5.2latest2026/11/071 天前
0.5.12026/10/2612 天前
0.5.02026/10/2118 天前
0.4.02026/10/1721 天前
0.3.02026/10/1227 天前
0.2.02026/10/1127 天前

关于 @application-kit/typeorm 的常见问题

@application-kit/typeorm 是什么?

-=YTET -伊甸园字幕组=- 翻译: 邮递, SQL - \\\\\\\\\\\\\\\\\\\\\\\\\\\\\

如何安装 @application-kit/typeorm?

在项目目录运行 npm install @application-kit/typeorm,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:typeorm(^1.0.0)、@nestjs/common(^11.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@application-kit/typeorm 支持 TypeScript 吗?

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

@application-kit/typeorm 支持 ESM 还是 CommonJS?

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

@application-kit/typeorm 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@application-kit/typeorm 可以商用吗?

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

@application-kit/typeorm 的下载量有多少?

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

@application-kit/typeorm 还在维护吗?

最新版本 0.5.2 发布于 2026/11/07(1 天前);至今共发布 9 个版本,其中过去 12 个月发布了 9 个;首次发布于 2026/10/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。