ITADN
chantouchsek/typeorm-naming-strategy
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Typeorm 命名策略

ci Latest Version on NPM Software License npm npm

该软件包提供了几种(目前仅有一种)实用的自定义命名策略,用于为数据库中的列、关系及其他字段生成具有首字母重复特征的名称。

例如,使用蛇形命名策略,如果有一个如下所示的模型:

class User {
  @Column()
  createdAt
}

在数据库中,createdAt 字段的值将为 created_at

可用的命名策略

  • Snake

安装

它以 npm 包的形式提供 兼容 TypeORM 0.3.x1.1.x

npm install typeorm-naming-strategy --save

或使用 yarn

yarn add typeorm-naming-strategy

使用方法

import { DataSource } from 'typeorm'
import SnakeNamingStrategy from 'typeorm-naming-strategy'

const dataSource = new DataSource({
  type: 'postgres',
  // other TypeORM options...
  namingStrategy: new SnakeNamingStrategy(), // Here you're using the strategy!
})

await dataSource.initialize()

或者,您也可以将其与 ormconfig.js 结合使用。

// Use require instead of import
// const SnakeNamingStrategy = require("typeorm-naming-strategy").SnakeNamingStrategy
const SnakeNamingStrategy = require('typeorm-naming-strategy')

module.exports = {
  // ...
  namingStrategy: new SnakeNamingStrategy(),
}

或者您可以将其与ormconfig.ts结合使用

import SnakeNamingStrategy from 'typeorm-naming-strategy'

module.exports = {
  // ...
  namingStrategy: new SnakeNamingStrategy(),
}

与 NestJs 配置一起使用

import type { DataSourceOptions } from 'typeorm'
import { registerAs } from '@nestjs/config'
import { SnakeNamingStrategy } from 'typeorm-naming-strategy'

export default registerAs('database', (): DataSourceOptions => ({
  // ...
  namingStrategy: new SnakeNamingStrategy(),
  // ...
}))