remove generation of PK indices

This commit is contained in:
Kononnable 2019-11-10 18:41:21 +01:00
parent d797c3d06d
commit f346c0b904
2 changed files with 17 additions and 4 deletions

View File

@ -31,11 +31,24 @@ export default function modelCustomizationPhase(
}
function removeIndicesGeneratedByTypeorm(dbModel: Entity[]): Entity[] {
// TODO: Support typeorm CustomNamingStrategy
// TODO: PK index - ignores primaryKeyName(typeorm bug?) - to investigate
const namingStrategy = new DefaultNamingStrategy();
dbModel.forEach(entity => {
entity.indices = entity.indices.filter(
v => !v.name.startsWith(`sqlite_autoindex_`)
v =>
!v.name.startsWith(`sqlite_autoindex_`) &&
(v.name !== "PRIMARY" && v.primary)
);
const primaryColumns = entity.columns
.filter(v => v.primary)
.map(v => v.tscName);
entity.indices = entity.indices.filter(
v =>
v.primary &&
v.name !==
namingStrategy.primaryKeyName(
entity.tscName,
primaryColumns
)
);
entity.relations
.filter(v => v.joinColumnOptions)

View File

@ -42,6 +42,6 @@ export class {{toEntityName tscName}}{{#activeRecord}} extends BaseEntity{{/acti
}
{{/inline}}
import {BaseEntity,Column,Entity,Index,JoinColumn,JoinTable,ManyToMany,ManyToOne,OneToMany,OneToOne,PrimaryColumn,PrimaryGeneratedColumn,RelationId} from "typeorm";
{{#fileImports}}{{> Import}}{{/fileImports~}}
{{#fileImports}}{{> Import}}{{/fileImports}}
{{~> Entity}}
{{> Entity}}