// // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. // using System.Collections.Generic; using Microsoft.SqlTools.Hosting.Protocol.Contracts; using Microsoft.SqlTools.ServiceLayer.DacFx.Contracts; using Microsoft.SqlTools.ServiceLayer.Utility; namespace Microsoft.SqlTools.ServiceLayer.SchemaCompare.Contracts { public class SchemaCompareObjectId { /// /// Name to create object identifier /// public string[] NameParts; /// /// sql object type /// public string SqlObjectType; } /// /// Parameters for a schema compare open scmp file request. /// public class SchemaCompareOpenScmpParams { /// /// filepath of scmp /// public string FilePath { get; set; } } /// /// Parameters returned from a schema compare open scmp request. /// public class SchemaCompareOpenScmpResult : ResultStatus { /// /// Gets or sets the current source endpoint info /// public SchemaCompareEndpointInfo SourceEndpointInfo { get; set; } /// /// Gets or sets the current target endpoint info /// public SchemaCompareEndpointInfo TargetEndpointInfo { get; set; } /// /// Gets or sets the original target name. This is the initial target name, not necessarily the same as TargetEndpointInfo if they were swapped /// The original target name is used to determine whether to use ExcludedSourceElements or ExcludedTargetElements if source and target were swapped /// public string OriginalTargetName { get; set; } /// /// Gets or sets the original target connection string. This is the initial target connection string, not necessarily the same as TargetEndpointInfo if they were swapped /// The target connection string is necessary if the source and target are a dacpac and db with the same name /// public string OriginalTargetConnectionString { get; set; } /// /// Gets or sets the deployment options /// public DeploymentOptions DeploymentOptions { get; set; } /// /// Gets or sets the excluded source elements. This is based on the initial source, not necessarily the same as SourceEndpointInfo if they were swapped /// public List ExcludedSourceElements { get; set; } /// /// Gets or sets the excluded target elements. This is based on the initial target, not necessarily the same as TargetEndpointInfo if they were swapped /// public List ExcludedTargetElements { get; set; } } /// /// Defines the Schema Compare open scmp request type /// class SchemaCompareOpenScmpRequest { public static readonly RequestType Type = RequestType.Create("schemaCompare/openScmp"); } }