diff --git a/extensions/mssql/src/mssql.d.ts b/extensions/mssql/src/mssql.d.ts index 1519eef5a1..5f240b9b57 100644 --- a/extensions/mssql/src/mssql.d.ts +++ b/extensions/mssql/src/mssql.d.ts @@ -221,6 +221,9 @@ export interface DeploymentOptions { excludeObjectTypes: SchemaObjectType[]; } +/** + * Values from \Product\Source\DeploymentApi\ObjectTypes.cs + */ export const enum SchemaObjectType { Aggregates = 0, ApplicationRoles = 1, @@ -288,7 +291,9 @@ export const enum SchemaObjectType { ServerAuditSpecifications = 63, ServerRoleMembership = 64, ServerRoles = 65, - ServerTriggers = 66 + ServerTriggers = 66, + ExternalStreams = 67, + ExternalStreamingJobs = 68 } export interface SchemaCompareObjectId { diff --git a/extensions/schema-compare/src/localizedConstants.ts b/extensions/schema-compare/src/localizedConstants.ts index 7986651e3c..9a2d1a1eb3 100644 --- a/extensions/schema-compare/src/localizedConstants.ts +++ b/extensions/schema-compare/src/localizedConstants.ts @@ -179,6 +179,8 @@ export const Defaults: string = localize('SchemaCompare.Defaults', "Defaults"); export const ExtendedProperties: string = localize('SchemaCompare.ExtendedProperties', "Extended Properties"); export const ExternalDataSources: string = localize('SchemaCompare.ExternalDataSources', "External Data Sources"); export const ExternalFileFormats: string = localize('SchemaCompare.ExternalFileFormats', "External File Formats"); +export const ExternalStreams: string = localize('SchemaCompare.ExternalStreams', "External Streams"); +export const ExternalStreamingJobs: string = localize('SchemaCompare.ExternalStreamingJobs', "External Streaming Jobs"); export const ExternalTables: string = localize('SchemaCompare.ExternalTables', "External Tables"); export const Filegroups: string = localize('SchemaCompare.Filegroups', "Filegroups"); export const Files: string = localize('SchemaCompare.Files', "Files"); diff --git a/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts b/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts index 999ab73a28..95cd5ed3ad 100644 --- a/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts +++ b/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts @@ -110,6 +110,8 @@ export class SchemaCompareOptionsModel { loc.ExtendedProperties, loc.ExternalDataSources, loc.ExternalFileFormats, + loc.ExternalStreams, + loc.ExternalStreamingJobs, loc.ExternalTables, loc.Filegroups, loc.Files, @@ -703,6 +705,10 @@ export class SchemaCompareOptionsModel { return (this.deploymentOptions.excludeObjectTypes.find(x => x === mssql.SchemaObjectType.ExternalDataSources)) ? false : true; case loc.ExternalFileFormats: return (this.deploymentOptions.excludeObjectTypes.find(x => x === mssql.SchemaObjectType.ExternalFileFormats)) ? false : true; + case loc.ExternalStreams: + return (this.deploymentOptions.excludeObjectTypes.find(x => x === mssql.SchemaObjectType.ExternalStreams)) ? false : true; + case loc.ExternalStreamingJobs: + return (this.deploymentOptions.excludeObjectTypes.find(x => x === mssql.SchemaObjectType.ExternalStreamingJobs)) ? false : true; case loc.ExternalTables: return (this.deploymentOptions.excludeObjectTypes.find(x => x === mssql.SchemaObjectType.ExternalTables)) ? false : true; case loc.Filegroups: @@ -894,6 +900,16 @@ export class SchemaCompareOptionsModel { this.excludedObjectTypes.push(mssql.SchemaObjectType.ExternalFileFormats); } return; + case loc.ExternalStreams: + if (!included) { + this.excludedObjectTypes.push(mssql.SchemaObjectType.ExternalStreams); + } + return; + case loc.ExternalStreamingJobs: + if (!included) { + this.excludedObjectTypes.push(mssql.SchemaObjectType.ExternalStreamingJobs); + } + return; case loc.ExternalTables: if (!included) { this.excludedObjectTypes.push(mssql.SchemaObjectType.ExternalTables);