Feature/schemacompare options (#5143)

* extension now working

* make button messages better

* fix diff editor title disappearing and remove border from source and target name boxes

* redoing a bunch of stuff that disappeared after rebasing

* add images and add to extensions.ts

* moving a few changes to the right place after rebase

* formatting

* Initial schema compare options working code

* Adding description.icon etc.

* Enabling disabling options button

* Name change: SchemaCompareOptions to DeploymentOptions. To reflect SqltoolsService side parameters

* Adding sorting and correct sql tools version

* Adding options button themes

* Formatting fix

* Adding get default options call to get options from tools service

* Exclude/Include changes - first commit

* Adding border to checkboxes

* Taking PR comments

* Updating to latest sqltools with schema compare options
This commit is contained in:
udeeshagautam
2019-04-29 18:11:48 -07:00
committed by GitHub
parent 72fb114dec
commit e42bfada9d
12 changed files with 2169 additions and 16 deletions

View File

@@ -563,3 +563,72 @@ export enum SchemaCompareEndpointType {
database = 0,
dacpac = 1
}
export enum SchemaObjectType {
aggregates = 0,
applicationRoles = 1,
assemblies = 2,
assemblyFiles = 3,
asymmetricKeys = 4,
brokerPriorities = 5,
certificates = 6,
columnEncryptionKeys = 7,
columnMasterKeys = 8,
contracts = 9,
databaseOptions = 10,
databaseRoles = 11,
databaseTriggers = 12,
defaults = 13,
extendedProperties = 14,
externalDataSources = 15,
externalFileFormats = 16,
externalTables = 17,
filegroups = 18,
fileTables = 19,
fullTextCatalogs = 20,
fullTextStoplists = 21,
messageTypes = 22,
partitionFunctions = 23,
partitionSchemes = 24,
permissions = 25,
queues = 26,
remoteServiceBindings = 27,
roleMembership = 28,
rules = 29,
scalarValuedFunctions = 30,
searchPropertyLists = 31,
securityPolicies = 32,
sequences = 33,
services = 34,
signatures = 35,
storedProcedures = 36,
symmetricKeys = 37,
synonyms = 38,
tables = 39,
tableValuedFunctions = 40,
userDefinedDataTypes = 41,
userDefinedTableTypes = 42,
clrUserDefinedTypes = 43,
users = 44,
views = 45,
xmlSchemaCollections = 46,
audits = 47,
credentials = 48,
cryptographicProviders = 49,
databaseAuditSpecifications = 50,
databaseEncryptionKeys = 51,
databaseScopedCredentials = 52,
endpoints = 53,
errorMessages = 54,
eventNotifications = 55,
eventSessions = 56,
linkedServerLogins = 57,
linkedServers = 58,
logins = 59,
masterKeys = 60,
routes = 61,
serverAuditSpecifications = 62,
serverRoleMembership = 63,
serverRoles = 64,
serverTriggers = 65
}

View File

@@ -457,14 +457,20 @@ export class MainThreadDataProtocol implements MainThreadDataProtocolShape {
public $registerSchemaCompareServicesProvider(providerId: string, handle: number): Promise<any> {
const self = this;
this._schemaCompareService.registerProvider(providerId, <azdata.SchemaCompareServicesProvider>{
schemaCompare(sourceEndpointInfo: azdata.SchemaCompareEndpointInfo, targetEndpointInfo: azdata.SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode): Thenable<azdata.SchemaCompareResult> {
return self._proxy.$schemaCompare(handle, sourceEndpointInfo, targetEndpointInfo, taskExecutionMode);
schemaCompare(sourceEndpointInfo: azdata.SchemaCompareEndpointInfo, targetEndpointInfo: azdata.SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, schemaComapareOptions: azdata.DeploymentOptions): Thenable<azdata.SchemaCompareResult> {
return self._proxy.$schemaCompare(handle, sourceEndpointInfo, targetEndpointInfo, taskExecutionMode, schemaComapareOptions);
},
schemaCompareGenerateScript(operationId: string, targetDatabaseName: string, scriptFilePath: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable<azdata.ResultStatus> {
return self._proxy.$schemaCompareGenerateScript(handle, operationId, targetDatabaseName, scriptFilePath, taskExecutionMode);
},
schemaComparePublishChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable<azdata.ResultStatus> {
return self._proxy.$schemaComparePublishChanges(handle, operationId, targetServerName, targetDatabaseName, taskExecutionMode);
},
schemaCompareGetDefaultOptions(): Thenable<azdata.SchemaCompareOptionsResult> {
return self._proxy.$schemaCompareGetDefaultOptions(handle);
},
schemaCompareIncludeExcludeNode(operationId: string, diffEntry: azdata.DiffEntry, includeRequest: boolean, taskExecutionMode: azdata.TaskExecutionMode): Thenable<azdata.ResultStatus> {
return self._proxy.$schemaCompareIncludeExcludeNode(handle, operationId, diffEntry, includeRequest, taskExecutionMode);
}
});

View File

@@ -536,7 +536,8 @@ export function createApiFactory(
extensions: extensions,
SchemaUpdateAction: sqlExtHostTypes.SchemaUpdateAction,
SchemaDifferenceType: sqlExtHostTypes.SchemaDifferenceType,
SchemaCompareEndpointType: sqlExtHostTypes.SchemaCompareEndpointType
SchemaCompareEndpointType: sqlExtHostTypes.SchemaCompareEndpointType,
SchemaObjectType: sqlExtHostTypes.SchemaObjectType
};
},

View File

@@ -457,7 +457,7 @@ export abstract class ExtHostDataProtocolShape {
/**
* Schema compare
*/
$schemaCompare(handle: number, sourceEndpointInfo: azdata.SchemaCompareEndpointInfo, targetEndpointInfo: azdata.SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode): Thenable<azdata.SchemaCompareResult> { throw ni(); }
$schemaCompare(handle: number, sourceEndpointInfo: azdata.SchemaCompareEndpointInfo, targetEndpointInfo: azdata.SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, schemaComapareOptions: azdata.DeploymentOptions): Thenable<azdata.SchemaCompareResult> { throw ni(); }
/**
* Schema compare generate script
@@ -468,6 +468,17 @@ export abstract class ExtHostDataProtocolShape {
* Schema compare publish changes
*/
$schemaComparePublishChanges(handle: number, operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable<azdata.SchemaCompareResult> { throw ni(); }
/**
* Schema compare get default options
*/
$schemaCompareGetDefaultOptions(handle: number): Thenable<azdata.SchemaCompareOptionsResult> { throw ni(); }
/**
* Schema comapre Include node
*/
$schemaCompareIncludeExcludeNode(handle: number, operationId: string, diffEntry: azdata.DiffEntry, includeRequest: boolean, taskExecutionMode: azdata.TaskExecutionMode): Thenable<azdata.ResultStatus> { throw ni(); }
}
/**