mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-14 12:08:36 -05:00
Update SC dialog to save/read file structure to/from schema compare file (#22727)
* Read/Send ExtractTarget information from/to STS * Remove comment * Cleanup comment and update azdata dependency
This commit is contained in:
@@ -118,7 +118,7 @@ export class SchemaCompareDialog {
|
||||
ownerUri: ownerUri,
|
||||
projectFilePath: '',
|
||||
targetScripts: [],
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType,
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType,
|
||||
packageFilePath: '',
|
||||
dataSchemaProvider: '',
|
||||
connectionDetails: undefined,
|
||||
@@ -133,7 +133,7 @@ export class SchemaCompareDialog {
|
||||
ownerUri: '',
|
||||
projectFilePath: '',
|
||||
targetScripts: [],
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType,
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType,
|
||||
dataSchemaProvider: '',
|
||||
packageFilePath: this.sourceTextBox.value,
|
||||
connectionDetails: undefined
|
||||
@@ -144,7 +144,7 @@ export class SchemaCompareDialog {
|
||||
projectFilePath: this.sourceTextBox.value,
|
||||
targetScripts: await this.getProjectScriptFiles(this.sourceTextBox.value),
|
||||
dataSchemaProvider: await this.getDatabaseSchemaProvider(this.sourceTextBox.value),
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType,
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType,
|
||||
serverDisplayName: '',
|
||||
serverName: '',
|
||||
databaseName: '',
|
||||
@@ -165,7 +165,7 @@ export class SchemaCompareDialog {
|
||||
databaseName: this.targetDatabaseDropdown.value.toString(),
|
||||
ownerUri: ownerUri,
|
||||
projectFilePath: '',
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType,
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType,
|
||||
targetScripts: [],
|
||||
packageFilePath: '',
|
||||
dataSchemaProvider: '',
|
||||
@@ -180,7 +180,7 @@ export class SchemaCompareDialog {
|
||||
databaseName: '',
|
||||
ownerUri: '',
|
||||
projectFilePath: '',
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType,
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType,
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
packageFilePath: this.targetTextBox.value,
|
||||
@@ -190,7 +190,7 @@ export class SchemaCompareDialog {
|
||||
this.schemaCompareMainWindow.targetEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Project,
|
||||
projectFilePath: this.targetTextBox.value,
|
||||
folderStructure: mapExtractTargetEnum(<string>this.targetStructureDropdown!.value),
|
||||
extractTarget: mapExtractTargetEnum(<string>this.targetStructureDropdown!.value),
|
||||
targetScripts: await this.getProjectScriptFiles(this.targetTextBox.value),
|
||||
dataSchemaProvider: await this.getDatabaseSchemaProvider(this.targetTextBox.value),
|
||||
serverDisplayName: '',
|
||||
@@ -447,13 +447,14 @@ export class SchemaCompareDialog {
|
||||
}
|
||||
|
||||
private createStructureDropdown(): azdata.FormComponent {
|
||||
const value = !this.schemaCompareMainWindow.targetEndpointInfo ? loc.schemaObjectType : mapExtractTargetToString(this.schemaCompareMainWindow.targetEndpointInfo.extractTarget);
|
||||
this.targetStructureDropdown = this.view.modelBuilder.dropDown().withProps({
|
||||
editable: true,
|
||||
fireOnTextChange: true,
|
||||
ariaLabel: loc.targetStructure,
|
||||
width: this.textBoxWidth,
|
||||
values: [loc.file, loc.flat, loc.objectType, loc.schema, loc.schemaObjectType],
|
||||
value: loc.schemaObjectType,
|
||||
value: value,
|
||||
}).component();
|
||||
|
||||
return {
|
||||
@@ -1029,3 +1030,14 @@ export function mapExtractTargetEnum(inputTarget: string): mssql.ExtractTarget {
|
||||
default: return mssql.ExtractTarget.schemaObjectType;
|
||||
}
|
||||
}
|
||||
|
||||
export function mapExtractTargetToString(inputTarget: mssql.ExtractTarget) {
|
||||
switch (inputTarget) {
|
||||
case mssql.ExtractTarget.file: return loc.file;
|
||||
case mssql.ExtractTarget.flat: return loc.flat;
|
||||
case mssql.ExtractTarget.objectType: return loc.objectType;
|
||||
case mssql.ExtractTarget.schema: return loc.schema;
|
||||
case mssql.ExtractTarget.schemaObjectType:
|
||||
default: return loc.schemaObjectType;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ export class SchemaCompareMainWindow {
|
||||
projectFilePath: '',
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType
|
||||
};
|
||||
} else if (sourceDacpac) {
|
||||
source = {
|
||||
@@ -145,7 +145,7 @@ export class SchemaCompareMainWindow {
|
||||
projectFilePath: '',
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType
|
||||
};
|
||||
} else if (sourceProject) {
|
||||
source = {
|
||||
@@ -159,7 +159,7 @@ export class SchemaCompareMainWindow {
|
||||
projectFilePath: sourceProject,
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: undefined,
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType
|
||||
};
|
||||
}
|
||||
|
||||
@@ -889,7 +889,7 @@ export class SchemaCompareMainWindow {
|
||||
result = await service.schemaComparePublishDatabaseChanges(this.comparisonResult.operationId, this.targetEndpointInfo.serverName, this.targetEndpointInfo.databaseName, azdata.TaskExecutionMode.execute);
|
||||
break;
|
||||
case mssql.SchemaCompareEndpointType.Project:
|
||||
result = await vscode.commands.executeCommand(loc.sqlDatabaseProjectsPublishChanges, this.comparisonResult.operationId, this.targetEndpointInfo.projectFilePath, this.targetEndpointInfo.folderStructure);
|
||||
result = await vscode.commands.executeCommand(loc.sqlDatabaseProjectsPublishChanges, this.comparisonResult.operationId, this.targetEndpointInfo.projectFilePath, this.targetEndpointInfo.extractTarget);
|
||||
if (!result.success) {
|
||||
void vscode.window.showErrorMessage(loc.applyError);
|
||||
}
|
||||
@@ -1151,8 +1151,8 @@ export class SchemaCompareMainWindow {
|
||||
connectionDetails: undefined,
|
||||
projectFilePath: endpoint.projectFilePath,
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType // TODO: Pick this automatically from the scmp file, after issue #20332 is resolved (check dsp as well)
|
||||
dataSchemaProvider: endpoint.dataSchemaProvider,
|
||||
extractTarget: endpoint.extractTarget
|
||||
};
|
||||
} else {
|
||||
// need to do this instead of just setting it to the endpoint because some fields are null which will cause an error when sending the compare request
|
||||
|
||||
@@ -52,7 +52,7 @@ export const mockDacpacEndpoint: mssql.SchemaCompareEndpointInfo = {
|
||||
packageFilePath: mockFilePath,
|
||||
connectionDetails: undefined,
|
||||
projectFilePath: '',
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType,
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType,
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
};
|
||||
@@ -66,7 +66,7 @@ export const mockDatabaseEndpoint: mssql.SchemaCompareEndpointInfo = {
|
||||
packageFilePath: '',
|
||||
connectionDetails: undefined,
|
||||
projectFilePath: '',
|
||||
folderStructure: mssql.ExtractTarget.schemaObjectType,
|
||||
extractTarget: mssql.ExtractTarget.schemaObjectType,
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user