src/utils/strategies/snake-naming.strategy.ts
DefaultNamingStrategy
NamingStrategyInterface
Methods |
classTableInheritanceParentColumnName |
classTableInheritanceParentColumnName(parentTableName: string, parentTableIdPropertyName: string)
|
Returns :
string
|
columnName | ||||||||||||
columnName(propertyName: string, customName: string, embeddedPrefixes: string[])
|
||||||||||||
Parameters :
Returns :
string
|
joinColumnName |
joinColumnName(relationName: string, referencedColumnName: string)
|
Returns :
string
|
joinTableColumnName |
joinTableColumnName(tableName: string, propertyName: string, columnName?: string)
|
Returns :
string
|
joinTableName | |||||||||||||||
joinTableName(firstTableName: string, secondTableName: string, firstPropertyName: string, _secondPropertyName: string)
|
|||||||||||||||
Parameters :
Returns :
string
|
relationName | ||||||
relationName(propertyName: string)
|
||||||
Parameters :
Returns :
string
|
tableName |
tableName(className: string, customName: string)
|
Returns :
string
|
import { DefaultNamingStrategy, NamingStrategyInterface } from 'typeorm';
import { snakeCase } from 'typeorm/util/StringUtils';
export class SnakeNamingStrategy extends DefaultNamingStrategy
implements NamingStrategyInterface {
tableName(className: string, customName: string): string {
return customName ? customName : snakeCase(className);
}
columnName(
propertyName: string,
customName: string,
embeddedPrefixes: string[],
): string {
return (
snakeCase(embeddedPrefixes.join('_')) +
(customName ? customName : snakeCase(propertyName))
);
}
relationName(propertyName: string): string {
return snakeCase(propertyName);
}
joinColumnName(relationName: string, referencedColumnName: string): string {
return snakeCase(relationName + '_' + referencedColumnName);
}
joinTableName(
firstTableName: string,
secondTableName: string,
firstPropertyName: string,
_secondPropertyName: string,
): string {
return snakeCase(
firstTableName +
'_' +
firstPropertyName.replace(/\./gi, '_') +
'_' +
secondTableName,
);
}
joinTableColumnName(
tableName: string,
propertyName: string,
columnName?: string,
): string {
return snakeCase(
tableName + '_' + (columnName ? columnName : propertyName),
);
}
classTableInheritanceParentColumnName(
parentTableName: string,
parentTableIdPropertyName: string,
): string {
return snakeCase(`${parentTableName}_${parentTableIdPropertyName}`);
}
}