UNPKG

gen-jhipster

Version:

VHipster - Spring Boot + Angular/React/Vue in one handy generator

167 lines (166 loc) 9.07 kB
import BaseEntityChangesGenerator from '../base-entity-changes/index.ts'; import type { BaseChangelog } from '../base-entity-changes/types.ts'; import type { Application as LiquibaseApplication, Config as LiquibaseConfig, Entity as LiquibaseEntity, Features as LiquibaseFeatures, Field as LiquibaseField, Options as LiquibaseOptions, Source as LiquibaseSource } from './types.ts'; export default class LiquibaseGenerator<Entity extends LiquibaseEntity = LiquibaseEntity<LiquibaseField>, Application extends LiquibaseApplication<Entity> = LiquibaseApplication<Entity>> extends BaseEntityChangesGenerator<Entity, Application, LiquibaseConfig, LiquibaseOptions, LiquibaseSource, LiquibaseFeatures> { [BaseEntityChangesGenerator.PREPARING]: Record<"preparing" | "addNeedles" | "liquibaseNeo4j" | "checkDatabaseCompatibility", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { source: LiquibaseSource; } & { application: Application; } & import("../base-simple-application/tasks.js").ApplicationDefaultsTaskParam<Application>>>; [BaseEntityChangesGenerator.PREPARING_EACH_ENTITY_FIELD]: Record<"prepareEntityField" | "validateConsistencyOfField", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").PreparingEachEntityFieldTaskParam<Entity, Application>>>; [BaseEntityChangesGenerator.PREPARING_EACH_ENTITY_RELATIONSHIP]: Record<"prepareEntityRelationship", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").PreparingEachEntityRelationshipTaskParam<Entity, Application>>>; [BaseEntityChangesGenerator.POST_PREPARING_EACH_ENTITY]: Record<"postPrepareEntity", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").PreparingEachEntityTaskParam<Entity, Application>>>; [BaseEntityChangesGenerator.DEFAULT]: Record<"calculateChangelogs", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { application: Application; } & { entities: Entity[]; } & { entityChanges?: BaseChangelog<Entity>[] | undefined; }>>; [BaseEntityChangesGenerator.WRITING]: Record<"writing", import("../base-core/types.js").GenericTask<any, import("../base-simple-application/tasks.js").TaskParamWithApplication<Application>>>; [BaseEntityChangesGenerator.WRITING_ENTITIES]: Record<"writeChangelogs", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { application: Application; } & { entities: Entity[]; } & { entityChanges?: BaseChangelog<Entity>[] | undefined; }>>; [BaseEntityChangesGenerator.POST_WRITING]: Record<"customizeMaven" | "customizeSpringLogs" | "injectGradle", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { source: LiquibaseSource; } & { application: Application; }>>; [BaseEntityChangesGenerator.POST_WRITING_ENTITIES]: Record<"postWriteChangelogs", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { application: Application; } & { entities: Entity[]; } & { source: LiquibaseSource; } & { entityChanges?: BaseChangelog<Entity>[] | undefined; }>>; numberOfRows: number; databaseChangelogs: BaseChangelog<Entity>[]; injectBuildTool: boolean; injectLogs: boolean; beforeQueue(): Promise<void>; get preparing(): Record<"preparing" | "addNeedles" | "liquibaseNeo4j" | "checkDatabaseCompatibility", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { source: LiquibaseSource; } & { application: Application; } & import("../base-simple-application/tasks.js").ApplicationDefaultsTaskParam<Application>>>; get preparingEachEntityField(): Record<"prepareEntityField" | "validateConsistencyOfField", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").PreparingEachEntityFieldTaskParam<Entity, Application>>>; get preparingEachEntityRelationship(): Record<"prepareEntityRelationship", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").PreparingEachEntityRelationshipTaskParam<Entity, Application>>>; get postPreparingEachEntity(): Record<"postPrepareEntity", import("../base-core/types.js").GenericTask<any, import("../base-application/tasks.js").PreparingEachEntityTaskParam<Entity, Application>>>; get default(): Record<"calculateChangelogs", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { application: Application; } & { entities: Entity[]; } & { entityChanges?: BaseChangelog<Entity>[] | undefined; }>>; get writing(): Record<"writing", import("../base-core/types.js").GenericTask<any, import("../base-simple-application/tasks.js").TaskParamWithApplication<Application>>>; get writingEntities(): Record<"writeChangelogs", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { application: Application; } & { entities: Entity[]; } & { entityChanges?: BaseChangelog<Entity>[] | undefined; }>>; get postWriting(): Record<"customizeMaven" | "customizeSpringLogs" | "injectGradle", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { source: LiquibaseSource; } & { application: Application; }>>; get postWritingEntities(): Record<"postWriteChangelogs", import("../base-core/types.js").GenericTask<any, import("../base/tasks.js").TaskParamWithControl & { application: Application; } & { entities: Entity[]; } & { source: LiquibaseSource; } & { entityChanges?: BaseChangelog<Entity>[] | undefined; }>>; isChangelogNew({ entityName, changelogDate }: { entityName: string; changelogDate: string; }): boolean; /** * Write files for new entities. */ _writeLiquibaseFiles({ context: writeContext, changelogData }: { context: any; changelogData: any; }): Promise<any[]>; /** * Write files for new entities. */ _addLiquibaseFilesReferences({ entity, databaseChangelog, source, }: { entity: Entity; databaseChangelog: BaseChangelog<Entity>; source: LiquibaseSource; }): void; /** * Write files for updated entities. */ _writeUpdateFiles({ context: writeContext, changelogData }: { context: any; changelogData: any; }): Promise<any[]>; private _requiresConstraintUpdates; private _isBasicEntityUpdate; private _requiresWritingFakeData; /** * Write files for updated entities. */ _addUpdateFilesReferences({ entity, databaseChangelog, changelogData, source, }: { entity: Entity; databaseChangelog: BaseChangelog<Entity>; changelogData: any; source: LiquibaseSource; }): void; /** * @private * Format As Liquibase Remarks * * @param {string} text - text to format * @param {boolean} addRemarksTag - add remarks tag * @returns formatted liquibase remarks */ formatAsLiquibaseRemarks(text: string, addRemarksTag?: boolean): string; /** * @private * Create the fitting liquibase default value attribute for a field. * @param field * @param leadingWhitespace * @returns */ createDefaultValueLiquibaseAttribute(field: LiquibaseField, leadingWhitespace?: boolean): string; prepareChangelog({ databaseChangelog, application }: { databaseChangelog: BaseChangelog<Entity>; application: Application; }): BaseChangelog<Entity> | undefined; writeChangelog({ databaseChangelog }: { databaseChangelog: BaseChangelog<Entity>; }): Promise<any[]> | undefined; /** * @private * get a foreign key constraint name for tables in JHipster preferred style. * * @param {string} entityName - name of the entity * @param {string} relationshipName - name of the related entity * @param {string} prodDatabaseType - database type * @param {boolean} noSnakeCase - do not convert names to snakecase */ getFKConstraintName(entityName: string, relationshipName: string, prodDatabaseType: string, noSnakeCase: boolean): string; /** * @private * get a unique constraint name for tables in JHipster preferred style. * * @param {string} entityName - name of the entity * @param {string} columnName - name of the column * @param {string} prodDatabaseType - database type * @param {boolean} noSnakeCase - do not convert names to snakecase */ getUXConstraintName(entityName: string, columnName: string, prodDatabaseType: string, noSnakeCase: boolean): string; }