mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 01:25:37 -05:00
only show confirmation message for apply all changes, not for view changes in schema compare (#18520)
This commit is contained in:
@@ -1382,17 +1382,21 @@ export class ProjectsController {
|
||||
if (model.action === UpdateProjectAction.Compare) {
|
||||
await vscode.commands.executeCommand(constants.schemaCompareRunComparisonCommand, model.sourceEndpointInfo, model.targetEndpointInfo, true, undefined);
|
||||
} else if (model.action === UpdateProjectAction.Update) {
|
||||
await vscode.window.withProgress(
|
||||
{
|
||||
location: vscode.ProgressLocation.Notification,
|
||||
title: constants.updatingProjectFromDatabase(path.basename(model.targetEndpointInfo.projectFilePath), model.sourceEndpointInfo.databaseName),
|
||||
cancellable: false
|
||||
}, async (_progress, _token) => {
|
||||
return this.schemaCompareAndUpdateProject(model.sourceEndpointInfo, model.targetEndpointInfo);
|
||||
});
|
||||
await vscode.window.showWarningMessage(constants.applyConfirmation, { modal: true }, constants.yesString).then(async (result) => {
|
||||
if (result === constants.yesString) {
|
||||
await vscode.window.withProgress(
|
||||
{
|
||||
location: vscode.ProgressLocation.Notification,
|
||||
title: constants.updatingProjectFromDatabase(path.basename(model.targetEndpointInfo.projectFilePath), model.sourceEndpointInfo.databaseName),
|
||||
cancellable: false
|
||||
}, async (_progress, _token) => {
|
||||
return this.schemaCompareAndUpdateProject(model.sourceEndpointInfo, model.targetEndpointInfo);
|
||||
});
|
||||
|
||||
void vscode.commands.executeCommand(constants.refreshDataWorkspaceCommand);
|
||||
utils.getDataWorkspaceExtensionApi().showProjectsView();
|
||||
void vscode.commands.executeCommand(constants.refreshDataWorkspaceCommand);
|
||||
utils.getDataWorkspaceExtensionApi().showProjectsView();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
throw new Error(`Unknown UpdateProjectAction: ${model.action}`);
|
||||
}
|
||||
|
||||
@@ -497,74 +497,70 @@ export class UpdateProjectFromDatabaseDialog {
|
||||
}
|
||||
|
||||
public async handleUpdateButtonClick(): Promise<void> {
|
||||
await vscode.window.showWarningMessage(constants.applyConfirmation, { modal: true }, constants.yesString).then(async (result) => {
|
||||
if (result === constants.yesString) {
|
||||
const serverDropdownValue = this.serverDropdown!.value! as azdata.CategoryValue as ConnectionDropdownValue;
|
||||
const ownerUri = await getAzdataApi()!.connection.getUriForConnection(serverDropdownValue.connection.connectionId);
|
||||
const serverDropdownValue = this.serverDropdown!.value! as azdata.CategoryValue as ConnectionDropdownValue;
|
||||
const ownerUri = await getAzdataApi()!.connection.getUriForConnection(serverDropdownValue.connection.connectionId);
|
||||
|
||||
let connection = (await getAzdataApi()!.connection.getConnections(true)).filter(con => con.connectionId === serverDropdownValue.connection.connectionId)[0];
|
||||
connection.databaseName = this.databaseDropdown!.value! as string;
|
||||
let connection = (await getAzdataApi()!.connection.getConnections(true)).filter(con => con.connectionId === serverDropdownValue.connection.connectionId)[0];
|
||||
connection.databaseName = this.databaseDropdown!.value! as string;
|
||||
|
||||
const credentials = await getAzdataApi()!.connection.getCredentials(connection.connectionId);
|
||||
if (credentials.hasOwnProperty('password')) {
|
||||
connection.password = connection.options.password = credentials.password;
|
||||
}
|
||||
const credentials = await getAzdataApi()!.connection.getCredentials(connection.connectionId);
|
||||
if (credentials.hasOwnProperty('password')) {
|
||||
connection.password = connection.options.password = credentials.password;
|
||||
}
|
||||
|
||||
const connectionDetails: azdata.IConnectionProfile = {
|
||||
id: connection.connectionId,
|
||||
userName: connection.userName,
|
||||
password: connection.password,
|
||||
serverName: connection.serverName,
|
||||
databaseName: connection.databaseName,
|
||||
connectionName: connection.connectionName,
|
||||
providerName: connection.providerId,
|
||||
groupId: connection.groupId,
|
||||
groupFullName: connection.groupFullName,
|
||||
authenticationType: connection.authenticationType,
|
||||
savePassword: connection.savePassword,
|
||||
saveProfile: connection.saveProfile,
|
||||
options: connection.options,
|
||||
};
|
||||
const connectionDetails: azdata.IConnectionProfile = {
|
||||
id: connection.connectionId,
|
||||
userName: connection.userName,
|
||||
password: connection.password,
|
||||
serverName: connection.serverName,
|
||||
databaseName: connection.databaseName,
|
||||
connectionName: connection.connectionName,
|
||||
providerName: connection.providerId,
|
||||
groupId: connection.groupId,
|
||||
groupFullName: connection.groupFullName,
|
||||
authenticationType: connection.authenticationType,
|
||||
savePassword: connection.savePassword,
|
||||
saveProfile: connection.saveProfile,
|
||||
options: connection.options,
|
||||
};
|
||||
|
||||
const sourceEndpointInfo: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Database,
|
||||
databaseName: this.databaseDropdown!.value! as string,
|
||||
serverDisplayName: serverDropdownValue.displayName,
|
||||
serverName: serverDropdownValue.name!,
|
||||
connectionDetails: connectionDetails,
|
||||
ownerUri: ownerUri,
|
||||
projectFilePath: '',
|
||||
folderStructure: '',
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
packageFilePath: '',
|
||||
connectionName: serverDropdownValue.connection.options.connectionName
|
||||
};
|
||||
const sourceEndpointInfo: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Database,
|
||||
databaseName: this.databaseDropdown!.value! as string,
|
||||
serverDisplayName: serverDropdownValue.displayName,
|
||||
serverName: serverDropdownValue.name!,
|
||||
connectionDetails: connectionDetails,
|
||||
ownerUri: ownerUri,
|
||||
projectFilePath: '',
|
||||
folderStructure: '',
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
packageFilePath: '',
|
||||
connectionName: serverDropdownValue.connection.options.connectionName
|
||||
};
|
||||
|
||||
const targetEndpointInfo: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Project,
|
||||
projectFilePath: this.projectFileTextBox!.value!,
|
||||
folderStructure: this.folderStructureDropDown!.value as string,
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
connectionDetails: connectionDetails,
|
||||
databaseName: '',
|
||||
serverDisplayName: '',
|
||||
serverName: '',
|
||||
ownerUri: '',
|
||||
packageFilePath: '',
|
||||
};
|
||||
const targetEndpointInfo: mssql.SchemaCompareEndpointInfo = {
|
||||
endpointType: mssql.SchemaCompareEndpointType.Project,
|
||||
projectFilePath: this.projectFileTextBox!.value!,
|
||||
folderStructure: this.folderStructureDropDown!.value as string,
|
||||
targetScripts: [],
|
||||
dataSchemaProvider: '',
|
||||
connectionDetails: connectionDetails,
|
||||
databaseName: '',
|
||||
serverDisplayName: '',
|
||||
serverName: '',
|
||||
ownerUri: '',
|
||||
packageFilePath: '',
|
||||
};
|
||||
|
||||
const model: UpdateProjectDataModel = {
|
||||
sourceEndpointInfo: sourceEndpointInfo,
|
||||
targetEndpointInfo: targetEndpointInfo,
|
||||
action: this.action!
|
||||
};
|
||||
void this.updateProjectFromDatabaseCallback!(model);
|
||||
}
|
||||
const model: UpdateProjectDataModel = {
|
||||
sourceEndpointInfo: sourceEndpointInfo,
|
||||
targetEndpointInfo: targetEndpointInfo,
|
||||
action: this.action!
|
||||
};
|
||||
|
||||
this.dispose();
|
||||
});
|
||||
void this.updateProjectFromDatabaseCallback!(model);
|
||||
this.dispose();
|
||||
}
|
||||
|
||||
async validate(): Promise<boolean> {
|
||||
|
||||
Reference in New Issue
Block a user