mirror of
https://github.com/typeorm/typeorm.git
synced 2025-12-08 21:26:23 +00:00
fixed bugs with naming tables
This commit is contained in:
parent
6856af143d
commit
2e9febf212
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "typeorm",
|
||||
"private": true,
|
||||
"version": "0.0.2-alpha.10",
|
||||
"version": "0.0.2-alpha.11",
|
||||
"description": "Data-mapper ORM for Typescript",
|
||||
"license": "Apache-2.0",
|
||||
"readmeFilename": "README.md",
|
||||
|
||||
@ -31,12 +31,25 @@ export class CustomNamingStrategy implements NamingStrategyInterface {
|
||||
return propertyName;
|
||||
}
|
||||
|
||||
joinTableName(firstTableName: string, secondTableName: string, firstColumnName: string, secondColumnName: string): string {
|
||||
return firstTableName + "_" + firstColumnName + "_" + secondTableName + "_" + secondColumnName;
|
||||
joinTableName(firstTableName: string,
|
||||
secondTableName: string,
|
||||
firstColumnName: string,
|
||||
secondColumnName: string,
|
||||
firstPropertyName: string,
|
||||
secondPropertyName: string): string {
|
||||
return _.snakeCase(firstTableName + "_" + firstColumnName + "_" + secondTableName + "_" + secondPropertyName);
|
||||
}
|
||||
|
||||
joinTableColumnName(tableName: string, columnName: string): string {
|
||||
return tableName + "_" + columnName;
|
||||
joinTableColumnName(tableName: string, columnName: string, secondTableName: string, secondColumnName: string): string {
|
||||
const column1 = tableName + "_" + columnName;
|
||||
const column2 = secondTableName + "_" + secondColumnName;
|
||||
return column1 === column2 ? column1 + "_1" : column1;
|
||||
}
|
||||
|
||||
joinTableInverseColumnName(tableName: string, columnName: string, secondTableName: string, secondColumnName: string): string {
|
||||
const column1 = tableName + "_" + columnName;
|
||||
const column2 = secondTableName + "_" + secondColumnName;
|
||||
return column1 === column2 ? column1 + "_2" : column1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -84,6 +84,8 @@ export class JoinTableMetadata extends PropertyMetadata {
|
||||
return this.relation.entityMetadata.namingStrategy.joinTableName(
|
||||
this.relation.entityMetadata.table.name,
|
||||
this.relation.inverseEntityMetadata.table.name,
|
||||
this.relation.name,
|
||||
this.relation.hasInverseSide ? this.relation.inverseRelation.name : "",
|
||||
this.referencedColumn.name,
|
||||
this.inverseReferencedColumn.name
|
||||
);
|
||||
@ -96,7 +98,15 @@ export class JoinTableMetadata extends PropertyMetadata {
|
||||
if (this._joinColumnName)
|
||||
return this._joinColumnName;
|
||||
|
||||
return this.relation.entityMetadata.namingStrategy.joinTableColumnName(this.relation.entityMetadata.table.name, this.referencedColumn.name);
|
||||
return this.relation
|
||||
.entityMetadata
|
||||
.namingStrategy
|
||||
.joinTableColumnName(
|
||||
this.relation.entityMetadata.table.name,
|
||||
this.referencedColumn.name,
|
||||
this.relation.inverseEntityMetadata.table.name,
|
||||
this.inverseReferencedColumn.name
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -106,7 +116,15 @@ export class JoinTableMetadata extends PropertyMetadata {
|
||||
if (this._inverseJoinColumnName)
|
||||
return this._inverseJoinColumnName;
|
||||
|
||||
return this.relation.entityMetadata.namingStrategy.joinTableColumnName(this.relation.inverseEntityMetadata.table.name, this.inverseReferencedColumn.name);
|
||||
return this.relation
|
||||
.entityMetadata
|
||||
.namingStrategy
|
||||
.joinTableInverseColumnName(
|
||||
this.relation.inverseEntityMetadata.table.name,
|
||||
this.inverseReferencedColumn.name,
|
||||
this.relation.entityMetadata.table.name,
|
||||
this.referencedColumn.name
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -32,12 +32,25 @@ export class DefaultNamingStrategy implements NamingStrategyInterface {
|
||||
return propertyName;
|
||||
}
|
||||
|
||||
joinTableName(firstTableName: string, secondTableName: string, firstColumnName: string, secondColumnName: string): string {
|
||||
return firstTableName + "_" + firstColumnName + "_" + secondTableName + "_" + secondColumnName;
|
||||
joinTableName(firstTableName: string,
|
||||
secondTableName: string,
|
||||
firstColumnName: string,
|
||||
secondColumnName: string,
|
||||
firstPropertyName: string,
|
||||
secondPropertyName: string): string {
|
||||
return _.snakeCase(firstTableName + "_" + firstColumnName + "_" + secondTableName + "_" + secondPropertyName);
|
||||
}
|
||||
|
||||
joinTableColumnName(tableName: string, columnName: string): string {
|
||||
return tableName + "_" + columnName;
|
||||
joinTableColumnName(tableName: string, columnName: string, secondTableName: string, secondColumnName: string): string {
|
||||
const column1 = tableName + "_" + columnName;
|
||||
const column2 = secondTableName + "_" + secondColumnName;
|
||||
return column1 === column2 ? column1 + "_1" : column1;
|
||||
}
|
||||
|
||||
joinTableInverseColumnName(tableName: string, columnName: string, secondTableName: string, secondColumnName: string): string {
|
||||
const column1 = tableName + "_" + columnName;
|
||||
const column2 = secondTableName + "_" + secondColumnName;
|
||||
return column1 === column2 ? column1 + "_2" : column1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -32,11 +32,21 @@ export interface NamingStrategyInterface {
|
||||
/**
|
||||
* Gets the name of the join table used in the many-to-many relations.
|
||||
*/
|
||||
joinTableName(firstTableName: string, secondTableName: string, firstColumnName: string, secondColumnName: string): string;
|
||||
joinTableName(firstTableName: string,
|
||||
secondTableName: string,
|
||||
firstColumnName: string,
|
||||
secondColumnName: string,
|
||||
firstPropertyName: string,
|
||||
secondPropertyName: string): string;
|
||||
|
||||
/**
|
||||
* Gets the name of the column used for columns in the junction tables.
|
||||
*/
|
||||
joinTableColumnName(tableName: string, columnName: string): string;
|
||||
joinTableColumnName(tableName: string, columnName: string, secondTableName: string, secondColumnName: string): string;
|
||||
|
||||
/**
|
||||
* Gets the name of the column used for second column name in the junction tables.
|
||||
*/
|
||||
joinTableInverseColumnName(tableName: string, columnName: string, secondTableName: string, secondColumnName: string): string;
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user