This commit is contained in:
SPRINX0\prochazka
2024-11-08 16:05:01 +01:00
parent 55bc0fc93f
commit 0266d912e0
2 changed files with 8 additions and 4 deletions

View File

@@ -139,7 +139,7 @@ export interface DiffOperationItemDisplay {
identifier?: string;
}
function getOperationDisplay(operation: AlterOperation, driver: EngineDriver, index: number): DiffOperationItemDisplay {
export function getOperationDisplay(operation: AlterOperation, driver: EngineDriver): DiffOperationItemDisplay {
const op = operation as any;
const name =
op?.newName ??
@@ -161,7 +161,7 @@ function getOperationDisplay(operation: AlterOperation, driver: EngineDriver, in
operationType: operation.operationType,
name,
sqlScript: dmp.s,
identifier: `${name}-${index}-${operation.operationType}`,
identifier: dmp.s,
};
}
@@ -181,7 +181,7 @@ export function computeObjectDiffOperations(
? extendDatabaseInfo({ [targetObject.objectTypeField]: [targetObject] } as unknown as DatabaseInfo)
: extendDatabaseInfo({} as unknown as DatabaseInfo);
const plan = createAlterDatabasePlan(dstdb, srcdb, opts, targetDb, sourceDb, driver);
return plan.operations.map((item, index) => getOperationDisplay(item, driver, index));
return plan.operations.map(item => getOperationDisplay(item, driver));
}
export function getCreateObjectScript(obj: TableInfo | SqlObjectInfo, driver: EngineDriver) {

View File

@@ -784,9 +784,13 @@ export function getAlterDatabaseScript(
opts: DbDiffOptions,
wholeOldDb: DatabaseInfo,
wholeNewDb: DatabaseInfo,
driver: EngineDriver
driver: EngineDriver,
transformPlan: (plan: AlterPlan) => void = null
) {
const plan = createAlterDatabasePlan(oldDb, newDb, opts, wholeOldDb, wholeNewDb, driver);
if (transformPlan) {
transformPlan(plan);
}
const dmp = driver.createDumper({ useHardSeparator: true });
plan.run(dmp);
return {