typeorm-naming-strategy
TypeScript icon, indicating that this package has built-in type declarations

2.0.7 • Public • Published

Typeorm naming strategy

ci Latest Version on NPM Software License npm npm

This package provides a few (one, at the moment) useful custom naming strategies. It alliterates the name of columns, relations, and other fields in the database.

For example, using the snake strategy, if you have a model like this:

class User {
  @Column()
  createdAt;
}

In the DB the createdAt field will be created_at

Naming strategies available

  • Snake

Installation

It's available as an npm package

npm install typeorm-naming-strategy --save

Or using yarn

yarn add typeorm-naming-strategy

Usage

import { createConnection } from 'typeorm';
// import { SnakeNamingStrategy } from 'typeorm-naming-strategy';
import SnakeNamingStrategy from 'typeorm-naming-strategy';

await createConnection({
  //...
  namingStrategy: new SnakeNamingStrategy(), // Here you'r using the strategy!
});

Alternatively you can use it in combination with a 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(),
}

Or you can use it in combination with a ormconfig.ts

import SnakeNamingStrategy from 'typeorm-naming-strategy';

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

Use with NestJs configuration

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

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

Package Sidebar

Install

npm i typeorm-naming-strategy

Weekly Downloads

563

Version

2.0.7

License

MIT

Unpacked Size

16.2 kB

Total Files

9

Last publish

Collaborators

  • chantouchsek