typeorm-naming-strategy
v2.0.10
Published
Custom naming strategies for typeorm
Downloads
7,706
Maintainers
Readme
Typeorm naming strategy
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 type { MysqlConnectionOptions } from 'typeorm/driver/mysql/MysqlConnectionOptions'
import { registerAs } from '@nestjs/config'
import { SnakeNamingStrategy } from 'typeorm-naming-strategy'
export default registerAs('database', (): MysqlConnectionOptions => ({
// ...
namingStrategy: new SnakeNamingStrategy(),
// ...
}))