diff --git a/extensions/cms/src/cmsUtils.ts b/extensions/cms/src/cmsUtils.ts index 5737276c32..486575f2cf 100644 --- a/extensions/cms/src/cmsUtils.ts +++ b/extensions/cms/src/cmsUtils.ts @@ -6,7 +6,7 @@ import * as nls from 'vscode-nls'; import * as vscode from 'vscode'; import * as azdata from 'azdata'; -import * as mssql from '../../mssql'; +import * as mssql from 'mssql'; import * as Utils from './cmsResource/utils'; import { ICmsResourceNodeInfo } from './cmsResource/tree/baseTreeNodes'; diff --git a/extensions/cms/src/typings/ref.d.ts b/extensions/cms/src/typings/ref.d.ts index 4d46be908b..6bf3be9c9f 100644 --- a/extensions/cms/src/typings/ref.d.ts +++ b/extensions/cms/src/typings/ref.d.ts @@ -6,4 +6,5 @@ /// /// /// -/// \ No newline at end of file +/// +/// diff --git a/extensions/dacpac/src/test/testDacFxService.ts b/extensions/dacpac/src/test/testDacFxService.ts index fe6a225fe0..2f62fcc261 100644 --- a/extensions/dacpac/src/test/testDacFxService.ts +++ b/extensions/dacpac/src/test/testDacFxService.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; -import * as mssql from '../../../mssql/src/mssql'; +import * as mssql from 'mssql'; export const deployOperationId = 'deploy dacpac'; export const extractOperationId = 'extract dacpac'; diff --git a/extensions/dacpac/src/typings/ref.d.ts b/extensions/dacpac/src/typings/ref.d.ts index cfdf5dd135..6bf3be9c9f 100644 --- a/extensions/dacpac/src/typings/ref.d.ts +++ b/extensions/dacpac/src/typings/ref.d.ts @@ -6,4 +6,5 @@ /// /// /// +/// /// diff --git a/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts b/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts index 8f0e2ac5bc..53b1fe18e9 100644 --- a/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts +++ b/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts @@ -6,7 +6,7 @@ import * as vscode from 'vscode'; import * as azdata from 'azdata'; import * as loc from '../localizedConstants'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as utils from '../utils'; import { SelectOperationPage } from './pages/selectOperationpage'; import { DeployConfigPage } from './pages/deployConfigPage'; diff --git a/extensions/integration-tests/src/test/cms.test.ts b/extensions/integration-tests/src/test/cms.test.ts index abfab188a3..2094c12de8 100644 --- a/extensions/integration-tests/src/test/cms.test.ts +++ b/extensions/integration-tests/src/test/cms.test.ts @@ -6,7 +6,7 @@ import 'mocha'; import * as vscode from 'vscode'; import * as azdata from 'azdata'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as utils from './utils'; import * as uuid from './uuid'; import assert = require('assert'); diff --git a/extensions/integration-tests/src/test/dacpac.test.ts b/extensions/integration-tests/src/test/dacpac.test.ts index bc6e221754..ee965c788d 100644 --- a/extensions/integration-tests/src/test/dacpac.test.ts +++ b/extensions/integration-tests/src/test/dacpac.test.ts @@ -9,7 +9,7 @@ import * as utils from './utils'; import * as path from 'path'; import * as fs from 'fs'; import * as os from 'os'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as vscode from 'vscode'; import { getStandaloneServer } from './testConfig'; import * as assert from 'assert'; diff --git a/extensions/integration-tests/src/test/schemaCompare.test.ts b/extensions/integration-tests/src/test/schemaCompare.test.ts index 7c81b45ad7..b917fd3c88 100644 --- a/extensions/integration-tests/src/test/schemaCompare.test.ts +++ b/extensions/integration-tests/src/test/schemaCompare.test.ts @@ -7,7 +7,7 @@ import 'mocha'; import * as azdata from 'azdata'; import * as vscode from 'vscode'; import * as utils from './utils'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as os from 'os'; import * as fs from 'fs'; import * as path from 'path'; diff --git a/extensions/integration-tests/src/typings/ref.d.ts b/extensions/integration-tests/src/typings/ref.d.ts index 7c5bd314ae..c526712587 100644 --- a/extensions/integration-tests/src/typings/ref.d.ts +++ b/extensions/integration-tests/src/typings/ref.d.ts @@ -5,5 +5,6 @@ /// /// /// +/// /// /// diff --git a/extensions/machine-learning/src/externalLanguage/languageService.ts b/extensions/machine-learning/src/externalLanguage/languageService.ts index 12c452cd59..babbee59d4 100644 --- a/extensions/machine-learning/src/externalLanguage/languageService.ts +++ b/extensions/machine-learning/src/externalLanguage/languageService.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import { ApiWrapper } from '../common/apiWrapper'; /** diff --git a/extensions/machine-learning/src/test/views/externalLanguages/languageController.test.ts b/extensions/machine-learning/src/test/views/externalLanguages/languageController.test.ts index c0d0e3e898..2231e0ef3f 100644 --- a/extensions/machine-learning/src/test/views/externalLanguages/languageController.test.ts +++ b/extensions/machine-learning/src/test/views/externalLanguages/languageController.test.ts @@ -8,7 +8,7 @@ import 'mocha'; import * as TypeMoq from 'typemoq'; import { createContext } from './utils'; import { LanguageController } from '../../../views/externalLanguages/languageController'; -import * as mssql from '../../../../../mssql'; +import * as mssql from 'mssql'; describe('External Languages Controller', () => { it('Should open dialog for manage languages successfully ', async function (): Promise { @@ -21,7 +21,7 @@ describe('External Languages Controller', () => { it('Should list languages successfully ', async function (): Promise { let testContext = createContext(); - let languages: mssql.ExternalLanguage[] = [{ + let languages: mssql.ExternalLanguage[] = [{ name: '', contents: [{ extensionFileName: '', @@ -30,7 +30,7 @@ describe('External Languages Controller', () => { }] }]; - testContext.dialogModel.setup( x=> x.getLanguageList()).returns(() => Promise.resolve(languages)); + testContext.dialogModel.setup(x => x.getLanguageList()).returns(() => Promise.resolve(languages)); let controller = new LanguageController(testContext.apiWrapper.object, '', testContext.dialogModel.object); let dialog = await controller.manageLanguages(); let actual = await dialog.listLanguages(); @@ -48,7 +48,7 @@ describe('External Languages Controller', () => { }] }; - testContext.dialogModel.setup( x=> x.updateLanguage(language)).returns(() => Promise.resolve()); + testContext.dialogModel.setup(x => x.updateLanguage(language)).returns(() => Promise.resolve()); let controller = new LanguageController(testContext.apiWrapper.object, '', testContext.dialogModel.object); let dialog = await controller.manageLanguages(); await dialog.updateLanguage({ @@ -70,7 +70,7 @@ describe('External Languages Controller', () => { }] }; - testContext.dialogModel.setup( x=> x.deleteLanguage(language.name)).returns(() => Promise.resolve()); + testContext.dialogModel.setup(x => x.deleteLanguage(language.name)).returns(() => Promise.resolve()); let controller = new LanguageController(testContext.apiWrapper.object, '', testContext.dialogModel.object); let dialog = await controller.manageLanguages(); await dialog.deleteLanguage({ diff --git a/extensions/machine-learning/src/test/views/externalLanguages/languagesDialogModel.test.ts b/extensions/machine-learning/src/test/views/externalLanguages/languagesDialogModel.test.ts index b6c8d78249..92bc5c0929 100644 --- a/extensions/machine-learning/src/test/views/externalLanguages/languagesDialogModel.test.ts +++ b/extensions/machine-learning/src/test/views/externalLanguages/languagesDialogModel.test.ts @@ -6,13 +6,13 @@ import * as should from 'should'; import 'mocha'; import { createContext } from './utils'; -import * as mssql from '../../../../../mssql'; +import * as mssql from 'mssql'; import { LanguageService } from '../../../externalLanguage/languageService'; describe('External Languages Dialog Model', () => { it('Should list languages successfully ', async function (): Promise { let testContext = createContext(); - let languages: mssql.ExternalLanguage[] = [{ + let languages: mssql.ExternalLanguage[] = [{ name: '', contents: [{ extensionFileName: '', @@ -20,7 +20,7 @@ describe('External Languages Dialog Model', () => { pathToExtension: '', }] }]; - testContext.languageExtensionService.listLanguages = () => {return Promise.resolve(languages);}; + testContext.languageExtensionService.listLanguages = () => { return Promise.resolve(languages); }; let model = new LanguageService(testContext.apiWrapper.object, testContext.languageExtensionService); await model.load(); let actual = await model.getLanguageList(); @@ -29,7 +29,7 @@ describe('External Languages Dialog Model', () => { it('Should update language successfully ', async function (): Promise { let testContext = createContext(); - let language: mssql.ExternalLanguage = { + let language: mssql.ExternalLanguage = { name: '', contents: [{ extensionFileName: '', @@ -45,7 +45,7 @@ describe('External Languages Dialog Model', () => { it('Should delete language successfully ', async function (): Promise { let testContext = createContext(); - let language: mssql.ExternalLanguage = { + let language: mssql.ExternalLanguage = { name: '', contents: [{ extensionFileName: '', diff --git a/extensions/machine-learning/src/test/views/externalLanguages/utils.ts b/extensions/machine-learning/src/test/views/externalLanguages/utils.ts index c3aa267494..68114a3416 100644 --- a/extensions/machine-learning/src/test/views/externalLanguages/utils.ts +++ b/extensions/machine-learning/src/test/views/externalLanguages/utils.ts @@ -8,7 +8,7 @@ import * as vscode from 'vscode'; import * as TypeMoq from 'typemoq'; import { ApiWrapper } from '../../../common/apiWrapper'; import { LanguageViewBase } from '../../../views/externalLanguages/languageViewBase'; -import * as mssql from '../../../../../mssql'; +import * as mssql from 'mssql'; import { LanguageService } from '../../../externalLanguage/languageService'; import { createViewContext } from '../utils'; diff --git a/extensions/machine-learning/src/typings/ref.d.ts b/extensions/machine-learning/src/typings/ref.d.ts index 0e316762ac..2b35c0bf9f 100644 --- a/extensions/machine-learning/src/typings/ref.d.ts +++ b/extensions/machine-learning/src/typings/ref.d.ts @@ -8,4 +8,5 @@ /// /// /// +/// /// diff --git a/extensions/machine-learning/src/views/externalLanguages/languageContentView.ts b/extensions/machine-learning/src/views/externalLanguages/languageContentView.ts index 28efebf3cc..e72ca7d151 100644 --- a/extensions/machine-learning/src/views/externalLanguages/languageContentView.ts +++ b/extensions/machine-learning/src/views/externalLanguages/languageContentView.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; import { LanguageViewBase } from './languageViewBase'; import * as constants from '../../common/constants'; import { ApiWrapper } from '../../common/apiWrapper'; diff --git a/extensions/machine-learning/src/views/externalLanguages/languageController.ts b/extensions/machine-learning/src/views/externalLanguages/languageController.ts index 7d18ee14b7..e60a5fcf35 100644 --- a/extensions/machine-learning/src/views/externalLanguages/languageController.ts +++ b/extensions/machine-learning/src/views/externalLanguages/languageController.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; import { ApiWrapper } from '../../common/apiWrapper'; import { LanguageService } from '../../externalLanguage/languageService'; import { LanguagesDialog } from './languagesDialog'; diff --git a/extensions/machine-learning/src/views/externalLanguages/languageViewBase.ts b/extensions/machine-learning/src/views/externalLanguages/languageViewBase.ts index df432451a5..dab8aba373 100644 --- a/extensions/machine-learning/src/views/externalLanguages/languageViewBase.ts +++ b/extensions/machine-learning/src/views/externalLanguages/languageViewBase.ts @@ -7,7 +7,7 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; import * as constants from '../../common/constants'; import { ApiWrapper } from '../../common/apiWrapper'; -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; import * as path from 'path'; export interface LanguageUpdateModel { diff --git a/extensions/machine-learning/src/views/externalLanguages/languagesTable.ts b/extensions/machine-learning/src/views/externalLanguages/languagesTable.ts index a807a5d65a..f5c9ca9807 100644 --- a/extensions/machine-learning/src/views/externalLanguages/languagesTable.ts +++ b/extensions/machine-learning/src/views/externalLanguages/languagesTable.ts @@ -5,7 +5,7 @@ import * as azdata from 'azdata'; import * as constants from '../../common/constants'; -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; import { LanguageViewBase } from './languageViewBase'; import { ApiWrapper } from '../../common/apiWrapper'; diff --git a/extensions/mssql/src/cms/cmsService.ts b/extensions/mssql/src/cms/cmsService.ts index a06419f4db..402f988bcb 100644 --- a/extensions/mssql/src/cms/cmsService.ts +++ b/extensions/mssql/src/cms/cmsService.ts @@ -9,7 +9,7 @@ import * as contracts from '../contracts'; import { AppContext } from '../appContext'; import { ConnectParams, ClientCapabilities } from 'dataprotocol-client/lib/protocol'; import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client'; -import { ListRegisteredServersResult, ICmsService } from '../mssql'; +import { ListRegisteredServersResult, ICmsService } from 'mssql'; import * as Utils from '../utils'; export class CmsService implements ICmsService { diff --git a/extensions/mssql/src/contracts.ts b/extensions/mssql/src/contracts.ts index bbb75fabc2..62c93a80bf 100644 --- a/extensions/mssql/src/contracts.ts +++ b/extensions/mssql/src/contracts.ts @@ -7,7 +7,7 @@ import { NotificationType, RequestType } from 'vscode-languageclient'; import { ITelemetryEventProperties, ITelemetryEventMeasures } from './telemetry'; import * as azdata from 'azdata'; import { ConnectParams } from 'dataprotocol-client/lib/protocol'; -import * as mssql from './mssql'; +import * as mssql from 'mssql'; // ------------------------------- < Telemetry Sent Event > ------------------------------------ diff --git a/extensions/mssql/src/dacfx/dacFxService.ts b/extensions/mssql/src/dacfx/dacFxService.ts index 0314733e77..11634c6089 100644 --- a/extensions/mssql/src/dacfx/dacFxService.ts +++ b/extensions/mssql/src/dacfx/dacFxService.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as mssql from '../mssql'; +import * as mssql from 'mssql'; import { AppContext } from '../appContext'; import { ISqlOpsFeature, SqlOpsDataClient } from 'dataprotocol-client'; import { ClientCapabilities } from 'vscode-languageclient'; diff --git a/extensions/mssql/src/languageExtension/languageExtensionService.ts b/extensions/mssql/src/languageExtension/languageExtensionService.ts index a1609d0c14..a407844b08 100644 --- a/extensions/mssql/src/languageExtension/languageExtensionService.ts +++ b/extensions/mssql/src/languageExtension/languageExtensionService.ts @@ -6,7 +6,7 @@ import { AppContext } from '../appContext'; import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client'; import * as constants from '../constants'; -import * as mssql from '../mssql'; +import * as mssql from 'mssql'; import * as Utils from '../utils'; import { ClientCapabilities } from 'vscode-languageclient'; import * as contracts from '../contracts'; diff --git a/extensions/mssql/src/main.ts b/extensions/mssql/src/main.ts index 4070711ccf..c01c6d812f 100644 --- a/extensions/mssql/src/main.ts +++ b/extensions/mssql/src/main.ts @@ -15,7 +15,7 @@ import { AppContext } from './appContext'; import { UploadFilesCommand, MkDirCommand, SaveFileCommand, PreviewFileCommand, CopyPathCommand, DeleteFilesCommand, ManageAccessCommand } from './objectExplorerNodeProvider/hdfsCommands'; import { IPrompter } from './prompts/question'; import CodeAdapter from './prompts/adapter'; -import { IExtension } from './mssql'; +import { IExtension } from 'mssql'; import { OpenSparkJobSubmissionDialogCommand, OpenSparkJobSubmissionDialogFromFileCommand, OpenSparkJobSubmissionDialogTask } from './sparkFeature/dialog/dialogCommands'; import { OpenSparkYarnHistoryTask } from './sparkFeature/historyTask'; import { MssqlObjectExplorerNodeProvider, mssqlOutputChannel } from './objectExplorerNodeProvider/objectExplorerNodeProvider'; diff --git a/extensions/mssql/src/mssql.d.ts b/extensions/mssql/src/mssql.d.ts index 4d909b0b9d..df6ce73ddd 100644 --- a/extensions/mssql/src/mssql.d.ts +++ b/extensions/mssql/src/mssql.d.ts @@ -4,897 +4,902 @@ *--------------------------------------------------------------------------------------------*/ // This is the place for extensions to expose APIs. +declare module 'mssql' { + import * as azdata from 'azdata'; -import * as azdata from 'azdata'; - -/** - * Covers defining what the mssql extension exports to other extensions - * - * IMPORTANT: THIS IS NOT A HARD DEFINITION unlike vscode; therefore no enums or classes should be defined here - * (const enums get evaluated when typescript -> javascript so those are fine) - */ - - -export const enum extension { - name = 'Microsoft.mssql' -} - -/** -* The APIs provided by Mssql extension -*/ -export interface IExtension { /** - * Path to the root of the SQL Tools Service folder - */ - readonly sqlToolsServicePath: string; - /** - * Gets the object explorer API that supports querying over the connections supported by this extension + * Covers defining what the mssql extension exports to other extensions * + * IMPORTANT: THIS IS NOT A HARD DEFINITION unlike vscode; therefore no enums or classes should be defined here + * (const enums get evaluated when typescript -> javascript so those are fine) */ - getMssqlObjectExplorerBrowser(): MssqlObjectExplorerBrowser; + + + export const enum extension { + name = 'Microsoft.mssql' + } /** - * Get the Cms Service APIs to communicate with CMS connections supported by this extension + * The APIs provided by Mssql extension + */ + export interface IExtension { + /** + * Path to the root of the SQL Tools Service folder + */ + readonly sqlToolsServicePath: string; + /** + * Gets the object explorer API that supports querying over the connections supported by this extension + * + */ + getMssqlObjectExplorerBrowser(): MssqlObjectExplorerBrowser; + + /** + * Get the Cms Service APIs to communicate with CMS connections supported by this extension + * + */ + readonly cmsService: ICmsService; + + readonly schemaCompare: ISchemaCompareService; + + readonly languageExtension: ILanguageExtensionService; + + readonly dacFx: IDacFxService; + + readonly sqlAssessment: ISqlAssessmentService; + + readonly sqlMigration: ISqlMigrationService; + } + + /** + * A browser supporting actions over the object explorer connections provided by this extension. + * Currently this is the + */ + export interface MssqlObjectExplorerBrowser { + /** + * Gets the matching node given a context object, e.g. one from a right-click on a node in Object Explorer + */ + getNode(objectExplorerContext: azdata.ObjectExplorerContext): Thenable; + } + + /** + * A tree node in the object explorer tree + */ + export interface ITreeNode { + getNodeInfo(): azdata.NodeInfo; + getChildren(refreshChildren: boolean): ITreeNode[] | Thenable; + } + + /** + * A HDFS file node. This is a leaf node in the object explorer tree, and its contents + * can be queried + */ + export interface IFileNode extends ITreeNode { + getFileContentsAsString(maxBytes?: number): Thenable; + } + + //#region --- schema compare + export interface SchemaCompareResult extends azdata.ResultStatus { + operationId: string; + areEqual: boolean; + differences: DiffEntry[]; + } + + export interface SchemaCompareIncludeExcludeResult extends azdata.ResultStatus { + affectedDependencies: DiffEntry[]; + blockingDependencies: DiffEntry[]; + } + + export interface SchemaCompareCompletionResult extends azdata.ResultStatus { + operationId: string; + areEqual: boolean; + differences: DiffEntry[]; + } + + export interface DiffEntry { + updateAction: SchemaUpdateAction; + differenceType: SchemaDifferenceType; + name: string; + sourceValue: string[]; + targetValue: string[]; + parent: DiffEntry; + children: DiffEntry[]; + sourceScript: string; + targetScript: string; + included: boolean; + } + + export const enum SchemaUpdateAction { + Delete = 0, + Change = 1, + Add = 2 + } + + export const enum SchemaDifferenceType { + Object = 0, + Property = 1 + } + + export const enum SchemaCompareEndpointType { + Database = 0, + Dacpac = 1, + Project = 2, + // must be kept in-sync with SchemaCompareEndpointType in SQL Tools Service + // located at \src\Microsoft.SqlTools.ServiceLayer\SchemaCompare\Contracts\SchemaCompareRequest.cs + } + + export interface SchemaCompareEndpointInfo { + endpointType: SchemaCompareEndpointType; + packageFilePath: string; + serverDisplayName: string; + serverName: string; + databaseName: string; + ownerUri: string; + connectionDetails: azdata.ConnectionInfo; + connectionName?: string; + projectFilePath: string; + targetScripts: string[]; + folderStructure: string; + dataSchemaProvider: string; + } + + export interface SchemaCompareObjectId { + nameParts: string[]; + sqlObjectType: string; + } + + export interface SchemaCompareOptionsResult extends azdata.ResultStatus { + defaultDeploymentOptions: DeploymentOptions; + } + + export interface DeploymentOptions { + ignoreTableOptions: boolean; + ignoreSemicolonBetweenStatements: boolean; + ignoreRouteLifetime: boolean; + ignoreRoleMembership: boolean; + ignoreQuotedIdentifiers: boolean; + ignorePermissions: boolean; + ignorePartitionSchemes: boolean; + ignoreObjectPlacementOnPartitionScheme: boolean; + ignoreNotForReplication: boolean; + ignoreLoginSids: boolean; + ignoreLockHintsOnIndexes: boolean; + ignoreKeywordCasing: boolean; + ignoreIndexPadding: boolean; + ignoreIndexOptions: boolean; + ignoreIncrement: boolean; + ignoreIdentitySeed: boolean; + ignoreUserSettingsObjects: boolean; + ignoreFullTextCatalogFilePath: boolean; + ignoreWhitespace: boolean; + ignoreWithNocheckOnForeignKeys: boolean; + verifyCollationCompatibility: boolean; + unmodifiableObjectWarnings: boolean; + treatVerificationErrorsAsWarnings: boolean; + scriptRefreshModule: boolean; + scriptNewConstraintValidation: boolean; + scriptFileSize: boolean; + scriptDeployStateChecks: boolean; + scriptDatabaseOptions: boolean; + scriptDatabaseCompatibility: boolean; + scriptDatabaseCollation: boolean; + runDeploymentPlanExecutors: boolean; + registerDataTierApplication: boolean; + populateFilesOnFileGroups: boolean; + noAlterStatementsToChangeClrTypes: boolean; + includeTransactionalScripts: boolean; + includeCompositeObjects: boolean; + allowUnsafeRowLevelSecurityDataMovement: boolean; + ignoreWithNocheckOnCheckConstraints: boolean; + ignoreFillFactor: boolean; + ignoreFileSize: boolean; + ignoreFilegroupPlacement: boolean; + doNotAlterReplicatedObjects: boolean; + doNotAlterChangeDataCaptureObjects: boolean; + disableAndReenableDdlTriggers: boolean; + deployDatabaseInSingleUserMode: boolean; + createNewDatabase: boolean; + compareUsingTargetCollation: boolean; + commentOutSetVarDeclarations: boolean; + blockWhenDriftDetected: boolean; + blockOnPossibleDataLoss: boolean; + backupDatabaseBeforeChanges: boolean; + allowIncompatiblePlatform: boolean; + allowDropBlockingAssemblies: boolean; + dropConstraintsNotInSource: boolean; + dropDmlTriggersNotInSource: boolean; + dropExtendedPropertiesNotInSource: boolean; + dropIndexesNotInSource: boolean; + ignoreFileAndLogFilePath: boolean; + ignoreExtendedProperties: boolean; + ignoreDmlTriggerState: boolean; + ignoreDmlTriggerOrder: boolean; + ignoreDefaultSchema: boolean; + ignoreDdlTriggerState: boolean; + ignoreDdlTriggerOrder: boolean; + ignoreCryptographicProviderFilePath: boolean; + verifyDeployment: boolean; + ignoreComments: boolean; + ignoreColumnCollation: boolean; + ignoreAuthorizer: boolean; + ignoreAnsiNulls: boolean; + generateSmartDefaults: boolean; + dropStatisticsNotInSource: boolean; + dropRoleMembersNotInSource: boolean; + dropPermissionsNotInSource: boolean; + dropObjectsNotInSource: boolean; + ignoreColumnOrder: boolean; + doNotDropObjectTypes: SchemaObjectType[]; + excludeObjectTypes: SchemaObjectType[]; + } + + /** + * Values from \Product\Source\DeploymentApi\ObjectTypes.cs + */ + export const 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, + Files = 19, + FileTables = 20, + FullTextCatalogs = 21, + FullTextStoplists = 22, + MessageTypes = 23, + PartitionFunctions = 24, + PartitionSchemes = 25, + Permissions = 26, + Queues = 27, + RemoteServiceBindings = 28, + RoleMembership = 29, + Rules = 30, + ScalarValuedFunctions = 31, + SearchPropertyLists = 32, + SecurityPolicies = 33, + Sequences = 34, + Services = 35, + Signatures = 36, + StoredProcedures = 37, + SymmetricKeys = 38, + Synonyms = 39, + Tables = 40, + TableValuedFunctions = 41, + UserDefinedDataTypes = 42, + UserDefinedTableTypes = 43, + ClrUserDefinedTypes = 44, + Users = 45, + Views = 46, + XmlSchemaCollections = 47, + Audits = 48, + Credentials = 49, + CryptographicProviders = 50, + DatabaseAuditSpecifications = 51, + DatabaseEncryptionKeys = 52, + DatabaseScopedCredentials = 53, + Endpoints = 54, + ErrorMessages = 55, + EventNotifications = 56, + EventSessions = 57, + LinkedServerLogins = 58, + LinkedServers = 59, + Logins = 60, + MasterKeys = 61, + Routes = 62, + ServerAuditSpecifications = 63, + ServerRoleMembership = 64, + ServerRoles = 65, + ServerTriggers = 66, + ExternalStreams = 67, + ExternalStreamingJobs = 68 + } + + export interface SchemaCompareObjectId { + nameParts: string[]; + sqlObjectType: string; + } + + export interface ISchemaCompareService { + schemaCompare(operationId: string, sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: DeploymentOptions): Thenable; + schemaCompareGenerateScript(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + schemaComparePublishChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + schemaComparePublishDatabaseChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + schemaComparePublishProjectChanges(operationId: string, targetProjectPath: string, targetFolderStructure: ExtractTarget, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + schemaCompareGetDefaultOptions(): Thenable; + schemaCompareIncludeExcludeNode(operationId: string, diffEntry: DiffEntry, IncludeRequest: boolean, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + schemaCompareOpenScmp(filePath: string): Thenable; + schemaCompareSaveScmp(sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: DeploymentOptions, scmpFilePath: string, excludedSourceObjects: SchemaCompareObjectId[], excludedTargetObjects: SchemaCompareObjectId[]): Thenable; + schemaCompareCancel(operationId: string): Thenable; + } + + export interface SchemaCompareOpenScmpResult extends azdata.ResultStatus { + sourceEndpointInfo: SchemaCompareEndpointInfo; + targetEndpointInfo: SchemaCompareEndpointInfo; + originalTargetName: string; + originalConnectionString: string; + deploymentOptions: DeploymentOptions; + excludedSourceElements: SchemaCompareObjectId[]; + excludedTargetElements: SchemaCompareObjectId[]; + } + + export interface SchemaComparePublishProjectResult extends azdata.ResultStatus { + changedFiles: string[]; + addedFiles: string[]; + deletedFiles: string[]; + } + + //#endregion + + //#region --- dacfx + export const enum ExtractTarget { + dacpac = 0, + file = 1, + flat = 2, + objectType = 3, + schema = 4, + schemaObjectType = 5 + } + + export interface IDacFxService { + exportBacpac(databaseName: string, packageFilePath: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + importBacpac(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + extractDacpac(databaseName: string, packageFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + createProjectFromDatabase(databaseName: string, targetFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, extractTarget: ExtractTarget, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + deployDacpac(packageFilePath: string, databaseName: string, upgradeExisting: boolean, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode, sqlCommandVariableValues?: Record, deploymentOptions?: DeploymentOptions): Thenable; + generateDeployScript(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode, sqlCommandVariableValues?: Record, deploymentOptions?: DeploymentOptions): Thenable; + generateDeployPlan(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; + getOptionsFromProfile(profilePath: string): Thenable; + validateStreamingJob(packageFilePath: string, createStreamingJobTsql: string): Thenable; + } + + export interface DacFxResult extends azdata.ResultStatus { + operationId: string; + } + + export interface GenerateDeployPlanResult extends DacFxResult { + report: string; + } + + export interface DacFxOptionsResult extends azdata.ResultStatus { + deploymentOptions: DeploymentOptions; + } + + export interface ValidateStreamingJobResult extends azdata.ResultStatus { + } + + export interface ExportParams { + databaseName: string; + packageFilePath: string; + ownerUri: string; + taskExecutionMode: azdata.TaskExecutionMode; + } + + export interface ImportParams { + packageFilePath: string; + databaseName: string; + ownerUri: string; + taskExecutionMode: azdata.TaskExecutionMode; + } + + export interface ExtractParams { + databaseName: string; + packageFilePath: string; + applicationName: string; + applicationVersion: string; + ownerUri: string; + extractTarget?: ExtractTarget; + taskExecutionMode: azdata.TaskExecutionMode; + } + + export interface DeployParams { + packageFilePath: string; + databaseName: string; + upgradeExisting: boolean; + ownerUri: string; + taskExecutionMode: azdata.TaskExecutionMode; + } + + export interface GenerateDeployScriptParams { + packageFilePath: string; + databaseName: string; + ownerUri: string; + taskExecutionMode: azdata.TaskExecutionMode; + } + + export interface GenerateDeployPlan { + packageFilePath: string; + databaseName: string; + ownerUri: string; + taskExecutionMode: azdata.TaskExecutionMode; + } + + //#endregion + + //#region --- Language Extensibility + export interface ExternalLanguageContent { + pathToExtension: string; + extensionFileName: string; + platform?: string; + parameters?: string; + environmentVariables?: string; + isLocalFile: boolean; + } + + export interface ExternalLanguage { + name: string; + owner?: string; + contents: ExternalLanguageContent[]; + createdDate?: string; + } + + export interface ILanguageExtensionService { + listLanguages(ownerUri: string): Thenable; + deleteLanguage(ownerUri: string, languageName: string): Thenable; + updateLanguage(ownerUri: string, language: ExternalLanguage): Thenable; + } + //#endregion + + //#region --- cms + /** * + * Interface containing all CMS related operations */ - readonly cmsService: ICmsService; + export interface ICmsService { + /** + * Connects to or creates a Central management Server + */ + createCmsServer(name: string, description: string, connectiondetails: azdata.ConnectionInfo, ownerUri: string): Thenable; - readonly schemaCompare: ISchemaCompareService; + /** + * gets all Registered Servers inside a CMS on a particular level + */ + getRegisteredServers(ownerUri: string, relativePath: string): Thenable; - readonly languageExtension: ILanguageExtensionService; + /** + * Adds a Registered Server inside a CMS on a particular level + */ + addRegisteredServer(ownerUri: string, relativePath: string, registeredServerName: string, registeredServerDescription: string, connectionDetails: azdata.ConnectionInfo): Thenable; - readonly dacFx: IDacFxService; + /** + * Removes a Registered Server inside a CMS on a particular level + */ + removeRegisteredServer(ownerUri: string, relativePath: string, registeredServerName: string): Thenable; - readonly sqlAssessment: ISqlAssessmentService; + /** + * Adds a Server Group inside a CMS on a particular level + */ + addServerGroup(ownerUri: string, relativePath: string, groupName: string, groupDescription: string): Thenable; - readonly sqlMigration: ISqlMigrationService; -} - -/** - * A browser supporting actions over the object explorer connections provided by this extension. - * Currently this is the - */ -export interface MssqlObjectExplorerBrowser { + /** + * Removes a Server Group inside a CMS on a particular level + */ + removeServerGroup(ownerUri: string, relativePath: string, groupName: string): Thenable; + } /** - * Gets the matching node given a context object, e.g. one from a right-click on a node in Object Explorer + * CMS Result interfaces as passed back to Extensions */ - getNode(objectExplorerContext: azdata.ObjectExplorerContext): Thenable; -} + export interface RegisteredServerResult { + name: string; + serverName: string; + description: string; + connectionDetails: azdata.ConnectionInfo; + relativePath: string; + } -/** - * A tree node in the object explorer tree - */ -export interface ITreeNode { - getNodeInfo(): azdata.NodeInfo; - getChildren(refreshChildren: boolean): ITreeNode[] | Thenable; -} + export interface RegisteredServerGroup { + name: string; + description: string; + relativePath: string; + } -/** - * A HDFS file node. This is a leaf node in the object explorer tree, and its contents - * can be queried - */ -export interface IFileNode extends ITreeNode { - getFileContentsAsString(maxBytes?: number): Thenable; -} - -//#region --- schema compare -export interface SchemaCompareResult extends azdata.ResultStatus { - operationId: string; - areEqual: boolean; - differences: DiffEntry[]; -} - -export interface SchemaCompareIncludeExcludeResult extends azdata.ResultStatus { - affectedDependencies: DiffEntry[]; - blockingDependencies: DiffEntry[]; -} - -export interface SchemaCompareCompletionResult extends azdata.ResultStatus { - operationId: string; - areEqual: boolean; - differences: DiffEntry[]; -} - -export interface DiffEntry { - updateAction: SchemaUpdateAction; - differenceType: SchemaDifferenceType; - name: string; - sourceValue: string[]; - targetValue: string[]; - parent: DiffEntry; - children: DiffEntry[]; - sourceScript: string; - targetScript: string; - included: boolean; -} - -export const enum SchemaUpdateAction { - Delete = 0, - Change = 1, - Add = 2 -} - -export const enum SchemaDifferenceType { - Object = 0, - Property = 1 -} - -export const enum SchemaCompareEndpointType { - Database = 0, - Dacpac = 1, - Project = 2, - // must be kept in-sync with SchemaCompareEndpointType in SQL Tools Service - // located at \src\Microsoft.SqlTools.ServiceLayer\SchemaCompare\Contracts\SchemaCompareRequest.cs -} - -export interface SchemaCompareEndpointInfo { - endpointType: SchemaCompareEndpointType; - packageFilePath: string; - serverDisplayName: string; - serverName: string; - databaseName: string; - ownerUri: string; - connectionDetails: azdata.ConnectionInfo; - connectionName?: string; - projectFilePath: string; - targetScripts: string[]; - folderStructure: string; - dataSchemaProvider: string; -} - -export interface SchemaCompareObjectId { - nameParts: string[]; - sqlObjectType: string; -} - -export interface SchemaCompareOptionsResult extends azdata.ResultStatus { - defaultDeploymentOptions: DeploymentOptions; -} - -export interface DeploymentOptions { - ignoreTableOptions: boolean; - ignoreSemicolonBetweenStatements: boolean; - ignoreRouteLifetime: boolean; - ignoreRoleMembership: boolean; - ignoreQuotedIdentifiers: boolean; - ignorePermissions: boolean; - ignorePartitionSchemes: boolean; - ignoreObjectPlacementOnPartitionScheme: boolean; - ignoreNotForReplication: boolean; - ignoreLoginSids: boolean; - ignoreLockHintsOnIndexes: boolean; - ignoreKeywordCasing: boolean; - ignoreIndexPadding: boolean; - ignoreIndexOptions: boolean; - ignoreIncrement: boolean; - ignoreIdentitySeed: boolean; - ignoreUserSettingsObjects: boolean; - ignoreFullTextCatalogFilePath: boolean; - ignoreWhitespace: boolean; - ignoreWithNocheckOnForeignKeys: boolean; - verifyCollationCompatibility: boolean; - unmodifiableObjectWarnings: boolean; - treatVerificationErrorsAsWarnings: boolean; - scriptRefreshModule: boolean; - scriptNewConstraintValidation: boolean; - scriptFileSize: boolean; - scriptDeployStateChecks: boolean; - scriptDatabaseOptions: boolean; - scriptDatabaseCompatibility: boolean; - scriptDatabaseCollation: boolean; - runDeploymentPlanExecutors: boolean; - registerDataTierApplication: boolean; - populateFilesOnFileGroups: boolean; - noAlterStatementsToChangeClrTypes: boolean; - includeTransactionalScripts: boolean; - includeCompositeObjects: boolean; - allowUnsafeRowLevelSecurityDataMovement: boolean; - ignoreWithNocheckOnCheckConstraints: boolean; - ignoreFillFactor: boolean; - ignoreFileSize: boolean; - ignoreFilegroupPlacement: boolean; - doNotAlterReplicatedObjects: boolean; - doNotAlterChangeDataCaptureObjects: boolean; - disableAndReenableDdlTriggers: boolean; - deployDatabaseInSingleUserMode: boolean; - createNewDatabase: boolean; - compareUsingTargetCollation: boolean; - commentOutSetVarDeclarations: boolean; - blockWhenDriftDetected: boolean; - blockOnPossibleDataLoss: boolean; - backupDatabaseBeforeChanges: boolean; - allowIncompatiblePlatform: boolean; - allowDropBlockingAssemblies: boolean; - dropConstraintsNotInSource: boolean; - dropDmlTriggersNotInSource: boolean; - dropExtendedPropertiesNotInSource: boolean; - dropIndexesNotInSource: boolean; - ignoreFileAndLogFilePath: boolean; - ignoreExtendedProperties: boolean; - ignoreDmlTriggerState: boolean; - ignoreDmlTriggerOrder: boolean; - ignoreDefaultSchema: boolean; - ignoreDdlTriggerState: boolean; - ignoreDdlTriggerOrder: boolean; - ignoreCryptographicProviderFilePath: boolean; - verifyDeployment: boolean; - ignoreComments: boolean; - ignoreColumnCollation: boolean; - ignoreAuthorizer: boolean; - ignoreAnsiNulls: boolean; - generateSmartDefaults: boolean; - dropStatisticsNotInSource: boolean; - dropRoleMembersNotInSource: boolean; - dropPermissionsNotInSource: boolean; - dropObjectsNotInSource: boolean; - ignoreColumnOrder: boolean; - doNotDropObjectTypes: SchemaObjectType[]; - excludeObjectTypes: SchemaObjectType[]; -} - -/** - * Values from \Product\Source\DeploymentApi\ObjectTypes.cs - */ -export const 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, - Files = 19, - FileTables = 20, - FullTextCatalogs = 21, - FullTextStoplists = 22, - MessageTypes = 23, - PartitionFunctions = 24, - PartitionSchemes = 25, - Permissions = 26, - Queues = 27, - RemoteServiceBindings = 28, - RoleMembership = 29, - Rules = 30, - ScalarValuedFunctions = 31, - SearchPropertyLists = 32, - SecurityPolicies = 33, - Sequences = 34, - Services = 35, - Signatures = 36, - StoredProcedures = 37, - SymmetricKeys = 38, - Synonyms = 39, - Tables = 40, - TableValuedFunctions = 41, - UserDefinedDataTypes = 42, - UserDefinedTableTypes = 43, - ClrUserDefinedTypes = 44, - Users = 45, - Views = 46, - XmlSchemaCollections = 47, - Audits = 48, - Credentials = 49, - CryptographicProviders = 50, - DatabaseAuditSpecifications = 51, - DatabaseEncryptionKeys = 52, - DatabaseScopedCredentials = 53, - Endpoints = 54, - ErrorMessages = 55, - EventNotifications = 56, - EventSessions = 57, - LinkedServerLogins = 58, - LinkedServers = 59, - Logins = 60, - MasterKeys = 61, - Routes = 62, - ServerAuditSpecifications = 63, - ServerRoleMembership = 64, - ServerRoles = 65, - ServerTriggers = 66, - ExternalStreams = 67, - ExternalStreamingJobs = 68 -} - -export interface SchemaCompareObjectId { - nameParts: string[]; - sqlObjectType: string; -} - -export interface ISchemaCompareService { - schemaCompare(operationId: string, sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: DeploymentOptions): Thenable; - schemaCompareGenerateScript(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - schemaComparePublishChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - schemaComparePublishDatabaseChanges(operationId: string, targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - schemaComparePublishProjectChanges(operationId: string, targetProjectPath: string, targetFolderStructure: ExtractTarget, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - schemaCompareGetDefaultOptions(): Thenable; - schemaCompareIncludeExcludeNode(operationId: string, diffEntry: DiffEntry, IncludeRequest: boolean, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - schemaCompareOpenScmp(filePath: string): Thenable; - schemaCompareSaveScmp(sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: azdata.TaskExecutionMode, deploymentOptions: DeploymentOptions, scmpFilePath: string, excludedSourceObjects: SchemaCompareObjectId[], excludedTargetObjects: SchemaCompareObjectId[]): Thenable; - schemaCompareCancel(operationId: string): Thenable; -} - -export interface SchemaCompareOpenScmpResult extends azdata.ResultStatus { - sourceEndpointInfo: SchemaCompareEndpointInfo; - targetEndpointInfo: SchemaCompareEndpointInfo; - originalTargetName: string; - originalConnectionString: string; - deploymentOptions: DeploymentOptions; - excludedSourceElements: SchemaCompareObjectId[]; - excludedTargetElements: SchemaCompareObjectId[]; -} - -export interface SchemaComparePublishProjectResult extends azdata.ResultStatus { - changedFiles: string[]; - addedFiles: string[]; - deletedFiles: string[]; -} - -//#endregion - -//#region --- dacfx -export const enum ExtractTarget { - dacpac = 0, - file = 1, - flat = 2, - objectType = 3, - schema = 4, - schemaObjectType = 5 -} - -export interface IDacFxService { - exportBacpac(databaseName: string, packageFilePath: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - importBacpac(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - extractDacpac(databaseName: string, packageFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - createProjectFromDatabase(databaseName: string, targetFilePath: string, applicationName: string, applicationVersion: string, ownerUri: string, extractTarget: ExtractTarget, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - deployDacpac(packageFilePath: string, databaseName: string, upgradeExisting: boolean, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode, sqlCommandVariableValues?: Record, deploymentOptions?: DeploymentOptions): Thenable; - generateDeployScript(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode, sqlCommandVariableValues?: Record, deploymentOptions?: DeploymentOptions): Thenable; - generateDeployPlan(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: azdata.TaskExecutionMode): Thenable; - getOptionsFromProfile(profilePath: string): Thenable; - validateStreamingJob(packageFilePath: string, createStreamingJobTsql: string): Thenable; -} - -export interface DacFxResult extends azdata.ResultStatus { - operationId: string; -} - -export interface GenerateDeployPlanResult extends DacFxResult { - report: string; -} - -export interface DacFxOptionsResult extends azdata.ResultStatus { - deploymentOptions: DeploymentOptions; -} - -export interface ValidateStreamingJobResult extends azdata.ResultStatus { -} - -export interface ExportParams { - databaseName: string; - packageFilePath: string; - ownerUri: string; - taskExecutionMode: azdata.TaskExecutionMode; -} - -export interface ImportParams { - packageFilePath: string; - databaseName: string; - ownerUri: string; - taskExecutionMode: azdata.TaskExecutionMode; -} - -export interface ExtractParams { - databaseName: string; - packageFilePath: string; - applicationName: string; - applicationVersion: string; - ownerUri: string; - extractTarget?: ExtractTarget; - taskExecutionMode: azdata.TaskExecutionMode; -} - -export interface DeployParams { - packageFilePath: string; - databaseName: string; - upgradeExisting: boolean; - ownerUri: string; - taskExecutionMode: azdata.TaskExecutionMode; -} - -export interface GenerateDeployScriptParams { - packageFilePath: string; - databaseName: string; - ownerUri: string; - taskExecutionMode: azdata.TaskExecutionMode; -} - -export interface GenerateDeployPlan { - packageFilePath: string; - databaseName: string; - ownerUri: string; - taskExecutionMode: azdata.TaskExecutionMode; -} - -//#endregion - -//#region --- Language Extensibility -export interface ExternalLanguageContent { - pathToExtension: string; - extensionFileName: string; - platform?: string; - parameters?: string; - environmentVariables?: string; - isLocalFile: boolean; -} - -export interface ExternalLanguage { - name: string; - owner?: string; - contents: ExternalLanguageContent[]; - createdDate?: string; -} - -export interface ILanguageExtensionService { - listLanguages(ownerUri: string): Thenable; - deleteLanguage(ownerUri: string, languageName: string): Thenable; - updateLanguage(ownerUri: string, language: ExternalLanguage): Thenable; -} -//#endregion - -//#region --- cms -/** - * - * Interface containing all CMS related operations - */ -export interface ICmsService { - /** - * Connects to or creates a Central management Server - */ - createCmsServer(name: string, description: string, connectiondetails: azdata.ConnectionInfo, ownerUri: string): Thenable; + export interface ListRegisteredServersResult { + registeredServersList: Array; + registeredServerGroups: Array; + } + //#endregion /** - * gets all Registered Servers inside a CMS on a particular level + * Sql Assessment */ - getRegisteredServers(ownerUri: string, relativePath: string): Thenable; + + // SqlAssessment interfaces ----------------------------------------------------------------------- + + + + export interface ISqlAssessmentService { + assessmentInvoke(ownerUri: string, targetType: azdata.sqlAssessment.SqlAssessmentTargetType): Promise; + getAssessmentItems(ownerUri: string, targetType: azdata.sqlAssessment.SqlAssessmentTargetType): Promise; + generateAssessmentScript(items: azdata.SqlAssessmentResultItem[], targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Promise; + } + /** - * Adds a Registered Server inside a CMS on a particular level + * Sql Migration */ - addRegisteredServer(ownerUri: string, relativePath: string, registeredServerName: string, registeredServerDescription: string, connectionDetails: azdata.ConnectionInfo): Thenable; - /** - * Removes a Registered Server inside a CMS on a particular level - */ - removeRegisteredServer(ownerUri: string, relativePath: string, registeredServerName: string): Thenable; + // SKU recommendation interfaces, mirrored from Microsoft.SqlServer.Migration.SkuRecommendation + export interface AzureSqlSkuCategory { + sqlTargetPlatform: AzureSqlTargetPlatform; + computeTier: ComputeTier; + } - /** - * Adds a Server Group inside a CMS on a particular level - */ - addServerGroup(ownerUri: string, relativePath: string, groupName: string, groupDescription: string): Thenable; + export interface AzureSqlSkuPaaSCategory extends AzureSqlSkuCategory { + sqlPurchasingModel: AzureSqlPurchasingModel; + sqlServiceTier: AzureSqlPaaSServiceTier; + hardwareType: AzureSqlPaaSHardwareType; + } - /** - * Removes a Server Group inside a CMS on a particular level - */ - removeServerGroup(ownerUri: string, relativePath: string, groupName: string): Thenable; -} -/** - * CMS Result interfaces as passed back to Extensions - */ -export interface RegisteredServerResult { - name: string; - serverName: string; - description: string; - connectionDetails: azdata.ConnectionInfo; - relativePath: string; -} - -export interface RegisteredServerGroup { - name: string; - description: string; - relativePath: string; -} - -export interface ListRegisteredServersResult { - registeredServersList: Array; - registeredServerGroups: Array; -} -//#endregion - -/** - * Sql Assessment - */ - -// SqlAssessment interfaces ----------------------------------------------------------------------- - - - -export interface ISqlAssessmentService { - assessmentInvoke(ownerUri: string, targetType: azdata.sqlAssessment.SqlAssessmentTargetType): Promise; - getAssessmentItems(ownerUri: string, targetType: azdata.sqlAssessment.SqlAssessmentTargetType): Promise; - generateAssessmentScript(items: azdata.SqlAssessmentResultItem[], targetServerName: string, targetDatabaseName: string, taskExecutionMode: azdata.TaskExecutionMode): Promise; -} - - -/** - * Sql Migration - */ - -// SqlMigration interfaces ----------------------------------------------------------------------- - -export interface SqlMigrationImpactedObjectInfo { - name: string; - impactDetail: string; - objectType: string; -} - -export interface SqlMigrationAssessmentResultItem { - rulesetVersion: string; - rulesetName: string; - ruleId: string; - targetType: string; - checkId: string; - tags: string[]; - displayName: string; - description: string; - helpLink: string; - level: string; - timestamp: string; - kind: azdata.sqlAssessment.SqlAssessmentResultItemKind; - message: string; - appliesToMigrationTargetPlatform: string; - issueCategory: string; - databaseName: string; - impactedObjects: SqlMigrationImpactedObjectInfo[]; - databaseRestoreFails: boolean; -} - -export interface ServerTargetReadiness { - numberOfDatabasesReadyForMigration: number; - numberOfNonOnlineDatabases: number; - totalNumberOfDatabases: number; -} - -export interface ErrorModel { - errorId: number; - message: string; - errorSummary: string; - possibleCauses: string; - guidance: string; -} - -export interface DatabaseTargetReadiness { - noSelectionForMigration: boolean; - numOfBlockerIssues: number; -} - -export interface DatabaseAssessmentProperties { - compatibilityLevel: string; - databaseSize: number; - isReplicationEnabled: boolean; - assessmentTimeInMilliseconds: number; - items: SqlMigrationAssessmentResultItem[]; - errors: ErrorModel[]; - sqlManagedInstanceTargetReadiness: DatabaseTargetReadiness; - name: string; -} - -export interface ServerAssessmentProperties { - cpuCoreCount: number; - physicalServerMemory: number; - serverHostPlatform: string; - serverVersion: string; - serverEngineEdition: string; - serverEdition: string; - isClustered: boolean; - numberOfUserDatabases: number; - sqlAssessmentStatus: number; - assessedDatabaseCount: number; - sqlManagedInstanceTargetReadiness: ServerTargetReadiness; - items: SqlMigrationAssessmentResultItem[]; - errors: ErrorModel[]; - databases: DatabaseAssessmentProperties[]; - name: string; -} - -export interface AssessmentResult { - startTime: string; - endedTime: string; - assessmentResult: ServerAssessmentProperties; - rawAssessmentResult: any; - errors: ErrorModel[]; -} - -// SKU recommendation interfaces, mirrored from Microsoft.SqlServer.Migration.SkuRecommendation -export interface AzureSqlSkuCategory { - sqlTargetPlatform: AzureSqlTargetPlatform; - computeTier: ComputeTier; -} - -export interface AzureSqlSkuPaaSCategory extends AzureSqlSkuCategory { - sqlPurchasingModel: AzureSqlPurchasingModel; - sqlServiceTier: AzureSqlPaaSServiceTier; - hardwareType: AzureSqlPaaSHardwareType; -} - -export interface AzureSqlSkuIaaSCategory extends AzureSqlSkuCategory { - virtualMachineFamilyType: VirtualMachineFamilyType; -} - -export interface AzureManagedDiskSku { - tier: AzureManagedDiskTier; - size: string; - caching: AzureManagedDiskCaching; -} - -export interface AzureVirtualMachineSku { - virtualMachineFamily: VirtualMachineFamily; - sizeName: string; - computeSize: number; - azureSkuName: string; - vCPUsAvailable: number; -} - -export interface AzureSqlSkuMonthlyCost { - computeCost: number; - storageCost: number; - totalCost: number; -} - -export interface AzureSqlSku { - category: AzureSqlSkuPaaSCategory | AzureSqlSkuIaaSCategory; - computeSize: number; - predictedDataSizeInMb: number; - predictedLogSizeInMb: number; -} - -export interface AzureSqlPaaSSku extends AzureSqlSku { - category: AzureSqlSkuPaaSCategory; - storageMaxSizeInMb: number; -} - -export interface AzureSqlIaaSSku extends AzureSqlSku { - category: AzureSqlSkuIaaSCategory; - virtualMachineSize: AzureVirtualMachineSku; - dataDiskSizes: AzureManagedDiskSku[]; - logDiskSizes: AzureManagedDiskSku[]; - tempDbDiskSizes: AzureManagedDiskSku[]; -} - -export interface SkuRecommendationResultItem { - sqlInstanceName: string; - databaseName: string; - targetSku: AzureSqlIaaSSku | AzureSqlPaaSSku; - monthlyCost: AzureSqlSkuMonthlyCost; - ranking: number; - positiveJustifications: string[]; - negativeJustifications: string[]; -} - -export interface SqlInstanceRequirements { - cpuRequirementInCores: number; - dataStorageRequirementInMB: number; - logStorageRequirementInMB: number; - memoryRequirementInMB: number; - dataIOPSRequirement: number; - logIOPSRequirement: number; - ioLatencyRequirementInMs: number; - ioThroughputRequirementInMBps: number; - tempDBSizeInMB: number; - dataPointsStartTime: string; - dataPointsEndTime: string; - aggregationTargetPercentile: number; - perfDataCollectionIntervalInSeconds: number; - databaseLevelRequirements: SqlDatabaseRequirements[]; - numberOfDataPointsAnalyzed: number; -} - -export interface SqlDatabaseRequirements { - cpuRequirementInCores: number; - dataIOPSRequirement: number; - logIOPSRequirement: number; - ioLatencyRequirementInMs: number; - ioThroughputRequirementInMBps: number; - dataStorageRequirementInMB: number; - logStorageRequirementInMB: number; - databaseName: string; - memoryRequirementInMB: number; - cpuRequirementInPercentageOfTotalInstance: number; - numberOfDataPointsAnalyzed: number; - fileLevelRequirements: SqlFileRequirements[]; -} - -export interface SqlFileRequirements { - fileName: string; - fileType: DatabaseFileType; - sizeInMB: number; - readLatencyInMs: number; - writeLatencyInMs: number; - iopsRequirement: number; - ioThroughputRequirementInMBps: number; - numberOfDataPointsAnalyzed: number; -} - -export interface PaaSSkuRecommendationResultItem extends SkuRecommendationResultItem { - targetSku: AzureSqlPaaSSku; -} - -export interface IaaSSkuRecommendationResultItem extends SkuRecommendationResultItem { - targetSku: AzureSqlIaaSSku; -} - -export interface SkuRecommendationResult { - sqlDbRecommendationResults: PaaSSkuRecommendationResultItem[]; - sqlMiRecommendationResults: PaaSSkuRecommendationResultItem[]; - sqlVmRecommendationResults: IaaSSkuRecommendationResultItem[]; - instanceRequirements: SqlInstanceRequirements; -} - -// SKU recommendation enums, mirrored from Microsoft.SqlServer.Migration.SkuRecommendation -export const enum DatabaseFileType { - Rows = 0, - Log = 1, - Filestream = 2, - NotSupported = 3, - Fulltext = 4 -} - -export const enum AzureSqlTargetPlatform { - AzureSqlDatabase = 0, - AzureSqlManagedInstance = 1, - AzureSqlVirtualMachine = 2 -} - -export const enum ComputeTier { - Provisioned = 0, - ServerLess = 1 -} - -export const enum AzureManagedDiskTier { - Standard = 0, - Premium = 1, - Ultra = 2 -} - -export const enum AzureManagedDiskCaching { - NotApplicable = 0, - None = 1, - ReadOnly = 2, - ReadWrite = 3 -} - -export const enum AzureSqlPurchasingModel { - vCore = 0, -} - -export const enum AzureSqlPaaSServiceTier { - GeneralPurpose = 0, - BusinessCritical, - HyperScale, -} - -export const enum AzureSqlPaaSHardwareType { - Gen5 = 0, - PremiumSeries, - PremiumSeriesMemoryOptimized -} - -export const enum VirtualMachineFamilyType { - GeneralPurpose, - ComputeOptimized, - MemoryOptimized, - StorageOptimized, - GPU, - HighPerformanceCompute -} - -export const enum VirtualMachineFamily { - basicAFamily, - standardA0_A7Family, - standardAv2Family, - standardBSFamily, - standardDFamily, - standardDv2Family, - standardDv2PromoFamily, - standardDADSv5Family, - standardDASv4Family, - standardDASv5Family, - standardDAv4Family, - standardDDSv4Family, - standardDDSv5Family, - standardDDv4Family, - standardDDv5Family, - standardDSv3Family, - standardDSv4Family, - standardDSv5Family, - standardDv3Family, - standardDv4Family, - standardDv5Family, - standardDCADSv5Family, - standardDCASv5Family, - standardDCSv2Family, - standardDSFamily, - standardDSv2Family, - standardDSv2PromoFamily, - standardEIDSv5Family, - standardEIDv5Family, - standardEISv5Family, - standardEIv5Family, - standardEADSv5Family, - standardEASv4Family, - standardEASv5Family, - standardEDSv4Family, - standardEDSv5Family, - standardEBDSv5Family, - standardESv3Family, - standardESv4Family, - standardESv5Family, - standardEBSv5Family, - standardEAv4Family, - standardEDv4Family, - standardEDv5Family, - standardEv3Family, - standardEv4Family, - standardEv5Family, - standardEISv3Family, - standardEIv3Family, - standardXEIDSv4Family, - standardXEISv4Family, - standardECADSv5Family, - standardECASv5Family, - standardECIADSv5Family, - standardECIASv5Family, - standardFFamily, - standardFSFamily, - standardFSv2Family, - standardGFamily, - standardGSFamily, - standardHFamily, - standardHPromoFamily, - standardLSFamily, - standardLSv2Family, - standardMSFamily, - standardMDSMediumMemoryv2Family, - standardMSMediumMemoryv2Family, - standardMIDSMediumMemoryv2Family, - standardMISMediumMemoryv2Family, - standardMSv2Family, - standardNCSv3Family, - StandardNCASv3_T4Family, - standardNVSv2Family, - standardNVSv3Family, - standardNVSv4Family -} - -export interface StartPerfDataCollectionResult { - dateTimeStarted: Date; -} - -export interface StopPerfDataCollectionResult { - dateTimeStopped: Date; -} - -export interface RefreshPerfDataCollectionResult { - isCollecting: boolean; - messages: string[]; - errors: string[]; - refreshTime: Date; -} - -export interface ISqlMigrationService { - getAssessments(ownerUri: string, databases: string[]): Promise; - getSkuRecommendations(dataFolder: string, perfQueryIntervalInSec: number, targetPlatforms: string[], targetSqlInstance: string, targetPercentile: number, scalingFactor: number, startTime: string, endTime: string, includePreviewSkus: boolean, databaseAllowList: string[]): Promise; - startPerfDataCollection(ownerUri: string, dataFolder: string, perfQueryIntervalInSec: number, staticQueryIntervalInSec: number, numberOfIterations: number): Promise; - stopPerfDataCollection(): Promise; - refreshPerfDataCollection(lastRefreshedTime: Date): Promise; + export interface AzureSqlSkuIaaSCategory extends AzureSqlSkuCategory { + virtualMachineFamilyType: VirtualMachineFamilyType; + } + + export interface AzureManagedDiskSku { + tier: AzureManagedDiskTier; + size: string; + caching: AzureManagedDiskCaching; + } + + export interface AzureVirtualMachineSku { + virtualMachineFamily: VirtualMachineFamily; + sizeName: string; + computeSize: number; + azureSkuName: string; + vCPUsAvailable: number; + } + + export interface AzureSqlSkuMonthlyCost { + computeCost: number; + storageCost: number; + totalCost: number; + } + + export interface AzureSqlSku { + category: AzureSqlSkuPaaSCategory | AzureSqlSkuIaaSCategory; + computeSize: number; + predictedDataSizeInMb: number; + predictedLogSizeInMb: number; + } + + export interface AzureSqlPaaSSku extends AzureSqlSku { + category: AzureSqlSkuPaaSCategory; + storageMaxSizeInMb: number; + } + + export interface AzureSqlIaaSSku extends AzureSqlSku { + category: AzureSqlSkuIaaSCategory; + virtualMachineSize: AzureVirtualMachineSku; + dataDiskSizes: AzureManagedDiskSku[]; + logDiskSizes: AzureManagedDiskSku[]; + tempDbDiskSizes: AzureManagedDiskSku[]; + } + + export interface SkuRecommendationResultItem { + sqlInstanceName: string; + databaseName: string; + targetSku: AzureSqlIaaSSku | AzureSqlPaaSSku; + monthlyCost: AzureSqlSkuMonthlyCost; + ranking: number; + positiveJustifications: string[]; + negativeJustifications: string[]; + } + + export interface SqlInstanceRequirements { + cpuRequirementInCores: number; + dataStorageRequirementInMB: number; + logStorageRequirementInMB: number; + memoryRequirementInMB: number; + dataIOPSRequirement: number; + logIOPSRequirement: number; + ioLatencyRequirementInMs: number; + ioThroughputRequirementInMBps: number; + tempDBSizeInMB: number; + dataPointsStartTime: string; + dataPointsEndTime: string; + aggregationTargetPercentile: number; + perfDataCollectionIntervalInSeconds: number; + databaseLevelRequirements: SqlDatabaseRequirements[]; + numberOfDataPointsAnalyzed: number; + } + + export interface SqlDatabaseRequirements { + cpuRequirementInCores: number; + dataIOPSRequirement: number; + logIOPSRequirement: number; + ioLatencyRequirementInMs: number; + ioThroughputRequirementInMBps: number; + dataStorageRequirementInMB: number; + logStorageRequirementInMB: number; + databaseName: string; + memoryRequirementInMB: number; + cpuRequirementInPercentageOfTotalInstance: number; + numberOfDataPointsAnalyzed: number; + fileLevelRequirements: SqlFileRequirements[]; + } + + export interface SqlFileRequirements { + fileName: string; + fileType: DatabaseFileType; + sizeInMB: number; + readLatencyInMs: number; + writeLatencyInMs: number; + iopsRequirement: number; + ioThroughputRequirementInMBps: number; + numberOfDataPointsAnalyzed: number; + } + + export interface PaaSSkuRecommendationResultItem extends SkuRecommendationResultItem { + targetSku: AzureSqlPaaSSku; + } + + export interface IaaSSkuRecommendationResultItem extends SkuRecommendationResultItem { + targetSku: AzureSqlIaaSSku; + } + + export interface SkuRecommendationResult { + sqlDbRecommendationResults: PaaSSkuRecommendationResultItem[]; + sqlMiRecommendationResults: PaaSSkuRecommendationResultItem[]; + sqlVmRecommendationResults: IaaSSkuRecommendationResultItem[]; + instanceRequirements: SqlInstanceRequirements; + } + + // SKU recommendation enums, mirrored from Microsoft.SqlServer.Migration.SkuRecommendation + export const enum DatabaseFileType { + Rows = 0, + Log = 1, + Filestream = 2, + NotSupported = 3, + Fulltext = 4 + } + + export const enum AzureSqlTargetPlatform { + AzureSqlDatabase = 0, + AzureSqlManagedInstance = 1, + AzureSqlVirtualMachine = 2 + } + + export const enum ComputeTier { + Provisioned = 0, + ServerLess = 1 + } + + export const enum AzureManagedDiskTier { + Standard = 0, + Premium = 1, + Ultra = 2 + } + + export const enum AzureManagedDiskCaching { + NotApplicable = 0, + None = 1, + ReadOnly = 2, + ReadWrite = 3 + } + + export const enum AzureSqlPurchasingModel { + vCore = 0, + } + + export const enum AzureSqlPaaSServiceTier { + GeneralPurpose = 0, + BusinessCritical, + HyperScale, + } + + export const enum AzureSqlPaaSHardwareType { + Gen5 = 0, + PremiumSeries, + PremiumSeriesMemoryOptimized + } + + export const enum VirtualMachineFamilyType { + GeneralPurpose, + ComputeOptimized, + MemoryOptimized, + StorageOptimized, + GPU, + HighPerformanceCompute + } + + export const enum VirtualMachineFamily { + basicAFamily, + standardA0_A7Family, + standardAv2Family, + standardBSFamily, + standardDFamily, + standardDv2Family, + standardDv2PromoFamily, + standardDADSv5Family, + standardDASv4Family, + standardDASv5Family, + standardDAv4Family, + standardDDSv4Family, + standardDDSv5Family, + standardDDv4Family, + standardDDv5Family, + standardDSv3Family, + standardDSv4Family, + standardDSv5Family, + standardDv3Family, + standardDv4Family, + standardDv5Family, + standardDCADSv5Family, + standardDCASv5Family, + standardDCSv2Family, + standardDSFamily, + standardDSv2Family, + standardDSv2PromoFamily, + standardEIDSv5Family, + standardEIDv5Family, + standardEISv5Family, + standardEIv5Family, + standardEADSv5Family, + standardEASv4Family, + standardEASv5Family, + standardEDSv4Family, + standardEDSv5Family, + standardEBDSv5Family, + standardESv3Family, + standardESv4Family, + standardESv5Family, + standardEBSv5Family, + standardEAv4Family, + standardEDv4Family, + standardEDv5Family, + standardEv3Family, + standardEv4Family, + standardEv5Family, + standardEISv3Family, + standardEIv3Family, + standardXEIDSv4Family, + standardXEISv4Family, + standardECADSv5Family, + standardECASv5Family, + standardECIADSv5Family, + standardECIASv5Family, + standardFFamily, + standardFSFamily, + standardFSv2Family, + standardGFamily, + standardGSFamily, + standardHFamily, + standardHPromoFamily, + standardLSFamily, + standardLSv2Family, + standardMSFamily, + standardMDSMediumMemoryv2Family, + standardMSMediumMemoryv2Family, + standardMIDSMediumMemoryv2Family, + standardMISMediumMemoryv2Family, + standardMSv2Family, + standardNCSv3Family, + StandardNCASv3_T4Family, + standardNVSv2Family, + standardNVSv3Family, + standardNVSv4Family + } + + export interface StartPerfDataCollectionResult { + dateTimeStarted: Date; + } + + export interface StopPerfDataCollectionResult { + dateTimeStopped: Date; + } + + export interface RefreshPerfDataCollectionResult { + isCollecting: boolean; + messages: string[]; + errors: string[]; + refreshTime: Date; + } + + export interface ISqlMigrationService { + getAssessments(ownerUri: string, databases: string[]): Promise; + getSkuRecommendations(dataFolder: string, perfQueryIntervalInSec: number, targetPlatforms: string[], targetSqlInstance: string, targetPercentile: number, scalingFactor: number, startTime: string, endTime: string, includePreviewSkus: boolean, databaseAllowList: string[]): Promise; + startPerfDataCollection(ownerUri: string, dataFolder: string, perfQueryIntervalInSec: number, staticQueryIntervalInSec: number, numberOfIterations: number): Promise; + stopPerfDataCollection(): Promise; + refreshPerfDataCollection(lastRefreshedTime: Date): Promise; + } + + // SqlMigration interfaces ----------------------------------------------------------------------- + + export interface SqlMigrationImpactedObjectInfo { + name: string; + impactDetail: string; + objectType: string; + } + + export interface SqlMigrationAssessmentResultItem { + rulesetVersion: string; + rulesetName: string; + ruleId: string; + targetType: string; + checkId: string; + tags: string[]; + displayName: string; + description: string; + helpLink: string; + level: string; + timestamp: string; + kind: azdata.sqlAssessment.SqlAssessmentResultItemKind; + message: string; + appliesToMigrationTargetPlatform: string; + issueCategory: string; + databaseName: string; + impactedObjects: SqlMigrationImpactedObjectInfo[]; + databaseRestoreFails: boolean; + } + + export interface ServerTargetReadiness { + numberOfDatabasesReadyForMigration: number; + numberOfNonOnlineDatabases: number; + totalNumberOfDatabases: number; + } + + export interface ErrorModel { + errorId: number; + message: string; + errorSummary: string; + possibleCauses: string; + guidance: string; + } + + export interface DatabaseTargetReadiness { + noSelectionForMigration: boolean; + numOfBlockerIssues: number; + } + + export interface DatabaseAssessmentProperties { + compatibilityLevel: string; + databaseSize: number; + isReplicationEnabled: boolean; + assessmentTimeInMilliseconds: number; + items: SqlMigrationAssessmentResultItem[]; + errors: ErrorModel[]; + sqlManagedInstanceTargetReadiness: DatabaseTargetReadiness; + name: string; + } + + export interface ServerAssessmentProperties { + cpuCoreCount: number; + physicalServerMemory: number; + serverHostPlatform: string; + serverVersion: string; + serverEngineEdition: string; + serverEdition: string; + isClustered: boolean; + numberOfUserDatabases: number; + sqlAssessmentStatus: number; + assessedDatabaseCount: number; + sqlManagedInstanceTargetReadiness: ServerTargetReadiness; + items: SqlMigrationAssessmentResultItem[]; + errors: ErrorModel[]; + databases: DatabaseAssessmentProperties[]; + name: string; + } + + export interface AssessmentResult { + startTime: string; + endedTime: string; + assessmentResult: ServerAssessmentProperties; + rawAssessmentResult: any; + errors: ErrorModel[]; + } + + export interface ISqlMigrationService { + getAssessments(ownerUri: string, databases: string[]): Promise; + } } diff --git a/extensions/mssql/src/mssqlApiFactory.ts b/extensions/mssql/src/mssqlApiFactory.ts index 8a48054d9a..f251d71386 100644 --- a/extensions/mssql/src/mssqlApiFactory.ts +++ b/extensions/mssql/src/mssqlApiFactory.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { AppContext } from './appContext'; -import { IExtension, ICmsService, IDacFxService, ISchemaCompareService, MssqlObjectExplorerBrowser, ILanguageExtensionService, ISqlAssessmentService, ISqlMigrationService } from './mssql'; +import { IExtension, ICmsService, IDacFxService, ISchemaCompareService, MssqlObjectExplorerBrowser, ILanguageExtensionService, ISqlAssessmentService, ISqlMigrationService } from 'mssql'; import * as constants from './constants'; import { MssqlObjectExplorerNodeProvider } from './objectExplorerNodeProvider/objectExplorerNodeProvider'; import * as azdata from 'azdata'; diff --git a/extensions/mssql/src/schemaCompare/schemaCompareService.ts b/extensions/mssql/src/schemaCompare/schemaCompareService.ts index 3fea7a6673..556e62094f 100644 --- a/extensions/mssql/src/schemaCompare/schemaCompareService.ts +++ b/extensions/mssql/src/schemaCompare/schemaCompareService.ts @@ -6,7 +6,7 @@ import { AppContext } from '../appContext'; import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client'; import * as constants from '../constants'; -import * as mssql from '../mssql'; +import * as mssql from 'mssql'; import * as Utils from '../utils'; import { ClientCapabilities } from 'vscode-languageclient'; import * as azdata from 'azdata'; diff --git a/extensions/mssql/src/sqlAssessment/sqlAssessmentService.ts b/extensions/mssql/src/sqlAssessment/sqlAssessmentService.ts index f4e30cd551..6a91807f5e 100644 --- a/extensions/mssql/src/sqlAssessment/sqlAssessmentService.ts +++ b/extensions/mssql/src/sqlAssessment/sqlAssessmentService.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as mssql from '../mssql'; +import * as mssql from 'mssql'; import { AppContext } from '../appContext'; import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client'; import { ClientCapabilities } from 'vscode-languageclient'; diff --git a/extensions/mssql/src/sqlMigration/sqlMigrationService.ts b/extensions/mssql/src/sqlMigration/sqlMigrationService.ts index 6e6f85fe40..480bed7d2e 100644 --- a/extensions/mssql/src/sqlMigration/sqlMigrationService.ts +++ b/extensions/mssql/src/sqlMigration/sqlMigrationService.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as mssql from '../mssql'; +import * as mssql from 'mssql'; import { AppContext } from '../appContext'; import { SqlOpsDataClient, ISqlOpsFeature } from 'dataprotocol-client'; import { ClientCapabilities } from 'vscode-languageclient'; diff --git a/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts b/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts index 380b9851a8..99be22f5d6 100644 --- a/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts +++ b/extensions/schema-compare/src/dialogs/schemaCompareDialog.ts @@ -7,7 +7,7 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; import * as path from 'path'; import * as sqldbproj from 'sqldbproj'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as loc from '../localizedConstants'; import { SchemaCompareMainWindow } from '../schemaCompareMainWindow'; import { TelemetryReporter, TelemetryViews } from '../telemetry'; diff --git a/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts b/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts index a89189705d..ea1101f495 100644 --- a/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts +++ b/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts @@ -5,7 +5,7 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as loc from '../localizedConstants'; import { SchemaCompareMainWindow } from '../schemaCompareMainWindow'; import { isNullOrUndefined } from 'util'; diff --git a/extensions/schema-compare/src/extension.ts b/extensions/schema-compare/src/extension.ts index a31169d6de..ba733d93be 100644 --- a/extensions/schema-compare/src/extension.ts +++ b/extensions/schema-compare/src/extension.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import * as mssql from '../../mssql/src/mssql'; +import * as mssql from 'mssql'; import { SchemaCompareMainWindow } from './schemaCompareMainWindow'; export async function activate(extensionContext: vscode.ExtensionContext): Promise { diff --git a/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts b/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts index 95cd5ed3ad..ef4560f6ea 100644 --- a/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts +++ b/extensions/schema-compare/src/models/schemaCompareOptionsModel.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import * as loc from '../localizedConstants'; -import * as mssql from '../../../mssql/src/mssql'; +import * as mssql from 'mssql'; import { isNullOrUndefined } from 'util'; export class SchemaCompareOptionsModel { diff --git a/extensions/schema-compare/src/schemaCompareMainWindow.ts b/extensions/schema-compare/src/schemaCompareMainWindow.ts index f5e72ebe65..30732c8e54 100644 --- a/extensions/schema-compare/src/schemaCompareMainWindow.ts +++ b/extensions/schema-compare/src/schemaCompareMainWindow.ts @@ -8,7 +8,7 @@ import * as vscode from 'vscode'; import * as os from 'os'; import * as path from 'path'; import * as sqldbproj from 'sqldbproj'; -import * as mssql from '../../mssql'; +import * as mssql from 'mssql'; import * as loc from './localizedConstants'; import { SchemaCompareOptionsDialog } from './dialogs/schemaCompareOptionsDialog'; import { TelemetryReporter, TelemetryViews } from './telemetry'; diff --git a/extensions/schema-compare/src/test/models/schemaCompareOptionsModel.test.ts b/extensions/schema-compare/src/test/models/schemaCompareOptionsModel.test.ts index 2c3f8d1d99..a9eb96b482 100644 --- a/extensions/schema-compare/src/test/models/schemaCompareOptionsModel.test.ts +++ b/extensions/schema-compare/src/test/models/schemaCompareOptionsModel.test.ts @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ import * as should from 'should'; -import * as mssql from '../../../../mssql/src/mssql'; -import {SchemaCompareOptionsModel} from '../../models/schemaCompareOptionsModel'; +import * as mssql from 'mssql'; +import { SchemaCompareOptionsModel } from '../../models/schemaCompareOptionsModel'; describe('Schema Compare Options Model', () => { it('Should create model and set options successfully', function (): void { @@ -39,7 +39,7 @@ describe('Schema Compare Options Model', () => { }); }); -const defaultOptions: mssql.DeploymentOptions = { +const defaultOptions: mssql.DeploymentOptions = { ignoreTableOptions: false, ignoreSemicolonBetweenStatements: false, ignoreRouteLifetime: false, diff --git a/extensions/schema-compare/src/test/schemaCompare.test.ts b/extensions/schema-compare/src/test/schemaCompare.test.ts index 1909d99d9a..a2f11e37ca 100644 --- a/extensions/schema-compare/src/test/schemaCompare.test.ts +++ b/extensions/schema-compare/src/test/schemaCompare.test.ts @@ -5,7 +5,7 @@ import * as should from 'should'; import * as vscode from 'vscode'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as TypeMoq from 'typemoq'; import * as loc from '../localizedConstants'; import 'mocha'; @@ -67,7 +67,7 @@ describe('SchemaCompareMainWindow.start @DacFx@', function (): void { let sc = new SchemaCompareTestService(); let result = new SchemaCompareMainWindowTest(sc, mockExtensionContext.object, null); - await result.start({connectionProfile: mockIConnectionProfile}); + await result.start({ connectionProfile: mockIConnectionProfile }); should.notEqual(result.sourceEndpointInfo, undefined); should.equal(result.sourceEndpointInfo.endpointType, mssql.SchemaCompareEndpointType.Database); @@ -502,7 +502,8 @@ describe('SchemaCompareMainWindow.execute @DacFx@', function (): void { selectSourceButtonState: true, selectTargetButtonState: true, generateScriptButtonState: true, - applyButtonState: true} ); + applyButtonState: true + }); }); }); diff --git a/extensions/schema-compare/src/test/testSchemaCompareMainWindow.ts b/extensions/schema-compare/src/test/testSchemaCompareMainWindow.ts index 36c0482eef..f7369d4ecb 100644 --- a/extensions/schema-compare/src/test/testSchemaCompareMainWindow.ts +++ b/extensions/schema-compare/src/test/testSchemaCompareMainWindow.ts @@ -5,7 +5,7 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as should from 'should'; import { SchemaCompareMainWindow } from '../schemaCompareMainWindow'; diff --git a/extensions/schema-compare/src/test/testSchemaCompareService.ts b/extensions/schema-compare/src/test/testSchemaCompareService.ts index c496ae4bfa..23ead51216 100644 --- a/extensions/schema-compare/src/test/testSchemaCompareService.ts +++ b/extensions/schema-compare/src/test/testSchemaCompareService.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; export class SchemaCompareTestService implements mssql.ISchemaCompareService { diff --git a/extensions/schema-compare/src/test/testUtils.ts b/extensions/schema-compare/src/test/testUtils.ts index 26940ed4b1..6425b99d28 100644 --- a/extensions/schema-compare/src/test/testUtils.ts +++ b/extensions/schema-compare/src/test/testUtils.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import should = require('should'); import { AssertionError } from 'assert'; diff --git a/extensions/schema-compare/src/test/utils.test.ts b/extensions/schema-compare/src/test/utils.test.ts index a6d859dbec..228b33dc2c 100644 --- a/extensions/schema-compare/src/test/utils.test.ts +++ b/extensions/schema-compare/src/test/utils.test.ts @@ -6,7 +6,7 @@ import * as should from 'should'; import * as azdata from 'azdata'; import * as vscode from 'vscode'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as loc from '../localizedConstants'; import * as TypeMoq from 'typemoq'; import * as path from 'path'; diff --git a/extensions/schema-compare/src/typings/ref.d.ts b/extensions/schema-compare/src/typings/ref.d.ts index 23c9548c44..6a74b26953 100644 --- a/extensions/schema-compare/src/typings/ref.d.ts +++ b/extensions/schema-compare/src/typings/ref.d.ts @@ -8,4 +8,5 @@ /// /// /// +/// /// diff --git a/extensions/schema-compare/src/utils.ts b/extensions/schema-compare/src/utils.ts index 5870a520dd..20c8db87aa 100644 --- a/extensions/schema-compare/src/utils.ts +++ b/extensions/schema-compare/src/utils.ts @@ -6,7 +6,7 @@ import * as azdata from 'azdata'; import type * as azdataType from 'azdata'; // eslint-disable-line no-duplicate-imports import * as vscode from 'vscode'; -import * as mssql from '../../mssql'; +import * as mssql from 'mssql'; import * as os from 'os'; import * as loc from './localizedConstants'; import * as dataworkspace from 'dataworkspace'; diff --git a/extensions/sql-assessment/src/engine.ts b/extensions/sql-assessment/src/engine.ts index e3bf60b2a8..74e108499b 100644 --- a/extensions/sql-assessment/src/engine.ts +++ b/extensions/sql-assessment/src/engine.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as mssql from '../../mssql'; +import * as mssql from 'mssql'; import * as azdata from 'azdata'; import { createHistoryFileName, readHistoryFileNames, getAssessmentDate, TargetWithChildren } from './utils'; import { promises as fs } from 'fs'; diff --git a/extensions/sql-assessment/src/maincontroller.ts b/extensions/sql-assessment/src/maincontroller.ts index 6d6f5cd155..bc51c8ea39 100644 --- a/extensions/sql-assessment/src/maincontroller.ts +++ b/extensions/sql-assessment/src/maincontroller.ts @@ -5,7 +5,7 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; -import * as mssql from '../../mssql'; +import * as mssql from 'mssql'; import { SqlAssessmentMainTab } from './tabs/assessmentMainTab'; import { SqlAssessmentHistoryTab } from './tabs/historyTab'; import { AssessmentEngine } from './engine'; diff --git a/extensions/sql-assessment/src/typings/ref.d.ts b/extensions/sql-assessment/src/typings/ref.d.ts index 4d46be908b..6bf3be9c9f 100644 --- a/extensions/sql-assessment/src/typings/ref.d.ts +++ b/extensions/sql-assessment/src/typings/ref.d.ts @@ -6,4 +6,5 @@ /// /// /// -/// \ No newline at end of file +/// +/// diff --git a/extensions/sql-bindings/src/test/testUtils.ts b/extensions/sql-bindings/src/test/testUtils.ts index 2493c39b76..4f01abce91 100644 --- a/extensions/sql-bindings/src/test/testUtils.ts +++ b/extensions/sql-bindings/src/test/testUtils.ts @@ -5,7 +5,7 @@ import * as vscode from 'vscode'; import * as TypeMoq from 'typemoq'; -import * as mssql from '../../../mssql/src/mssql'; +import * as mssql from 'mssql'; import * as vscodeMssql from 'vscode-mssql'; import { RequestType } from 'vscode-languageclient'; diff --git a/extensions/sql-bindings/src/typings/ref.d.ts b/extensions/sql-bindings/src/typings/ref.d.ts index db9f33609a..60fdf3ec9d 100644 --- a/extensions/sql-bindings/src/typings/ref.d.ts +++ b/extensions/sql-bindings/src/typings/ref.d.ts @@ -6,5 +6,6 @@ /// /// /// +/// /// /// diff --git a/extensions/sql-database-projects/src/common/utils.ts b/extensions/sql-database-projects/src/common/utils.ts index dd5854c823..ebcdae481e 100644 --- a/extensions/sql-database-projects/src/common/utils.ts +++ b/extensions/sql-database-projects/src/common/utils.ts @@ -10,7 +10,7 @@ import * as constants from './constants'; import * as path from 'path'; import * as glob from 'fast-glob'; import * as dataworkspace from 'dataworkspace'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as vscodeMssql from 'vscode-mssql'; import * as fse from 'fs-extra'; import * as which from 'which'; diff --git a/extensions/sql-database-projects/src/controllers/mainController.ts b/extensions/sql-database-projects/src/controllers/mainController.ts index a915369ad6..c6d4d479ae 100644 --- a/extensions/sql-database-projects/src/controllers/mainController.ts +++ b/extensions/sql-database-projects/src/controllers/mainController.ts @@ -6,7 +6,7 @@ import type * as azdataType from 'azdata'; import * as vscode from 'vscode'; import * as vscodeMssql from 'vscode-mssql'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as templates from '../templates/templates'; import * as path from 'path'; diff --git a/extensions/sql-database-projects/src/controllers/projectController.ts b/extensions/sql-database-projects/src/controllers/projectController.ts index ce6be5fac7..999fce5fc4 100644 --- a/extensions/sql-database-projects/src/controllers/projectController.ts +++ b/extensions/sql-database-projects/src/controllers/projectController.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as constants from '../common/constants'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as os from 'os'; import * as path from 'path'; import * as utils from '../common/utils'; diff --git a/extensions/sql-database-projects/src/dialogs/createProjectFromDatabaseDialog.ts b/extensions/sql-database-projects/src/dialogs/createProjectFromDatabaseDialog.ts index 89f6d37dcc..3d4f390920 100644 --- a/extensions/sql-database-projects/src/dialogs/createProjectFromDatabaseDialog.ts +++ b/extensions/sql-database-projects/src/dialogs/createProjectFromDatabaseDialog.ts @@ -7,7 +7,7 @@ import type * as azdataType from 'azdata'; import * as vscode from 'vscode'; import * as constants from '../common/constants'; import * as newProjectTool from '../tools/newProjectTool'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as path from 'path'; import { IconPathHelper } from '../common/iconHelper'; diff --git a/extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts b/extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts index aa2ac81a4e..6e667efdb4 100644 --- a/extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts +++ b/extensions/sql-database-projects/src/dialogs/publishDatabaseDialog.ts @@ -11,7 +11,7 @@ import * as utils from '../common/utils'; import { Project } from '../models/project'; import { SqlConnectionDataSource } from '../models/dataSources/sqlConnectionStringSource'; import { IDeploySettings } from '../models/IDeploySettings'; -import { DeploymentOptions } from '../../../mssql/src/mssql'; +import { DeploymentOptions } from 'mssql'; import { IconPathHelper } from '../common/iconHelper'; import { cssStyles } from '../common/uiConstants'; import { getAgreementDisplayText, getConnectionName, getDockerBaseImages } from './utils'; diff --git a/extensions/sql-database-projects/src/dialogs/updateProjectFromDatabaseDialog.ts b/extensions/sql-database-projects/src/dialogs/updateProjectFromDatabaseDialog.ts index 5c74512815..4d4df02759 100644 --- a/extensions/sql-database-projects/src/dialogs/updateProjectFromDatabaseDialog.ts +++ b/extensions/sql-database-projects/src/dialogs/updateProjectFromDatabaseDialog.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import type * as azdata from 'azdata'; import * as constants from '../common/constants'; import * as newProjectTool from '../tools/newProjectTool'; diff --git a/extensions/sql-database-projects/src/models/IDeploySettings.ts b/extensions/sql-database-projects/src/models/IDeploySettings.ts index 7575861818..15b8ec513d 100644 --- a/extensions/sql-database-projects/src/models/IDeploySettings.ts +++ b/extensions/sql-database-projects/src/models/IDeploySettings.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { DeploymentOptions as mssqlDeploymentOptions } from '../../../mssql/src/mssql'; +import { DeploymentOptions as mssqlDeploymentOptions } from 'mssql'; import { DeploymentOptions as vscodeMssqlDeploymentOptions } from 'vscode-mssql'; export type DeploymentOptions = mssqlDeploymentOptions | vscodeMssqlDeploymentOptions; diff --git a/extensions/sql-database-projects/src/models/api/import.ts b/extensions/sql-database-projects/src/models/api/import.ts index 1bcd238f67..78965599b4 100644 --- a/extensions/sql-database-projects/src/models/api/import.ts +++ b/extensions/sql-database-projects/src/models/api/import.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; import * as vscodeMssql from 'vscode-mssql'; type ExtractTarget = mssql.ExtractTarget | vscodeMssql.ExtractTarget; diff --git a/extensions/sql-database-projects/src/models/api/updateProject.ts b/extensions/sql-database-projects/src/models/api/updateProject.ts index 5ea3878359..2c8a498faa 100644 --- a/extensions/sql-database-projects/src/models/api/updateProject.ts +++ b/extensions/sql-database-projects/src/models/api/updateProject.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import * as mssql from '../../../../mssql/src/mssql'; +import * as mssql from 'mssql'; export interface UpdateProjectDataModel { sourceEndpointInfo: mssql.SchemaCompareEndpointInfo; diff --git a/extensions/sql-database-projects/src/models/publishProfile/publishProfile.ts b/extensions/sql-database-projects/src/models/publishProfile/publishProfile.ts index f62203d729..79fe054dea 100644 --- a/extensions/sql-database-projects/src/models/publishProfile/publishProfile.ts +++ b/extensions/sql-database-projects/src/models/publishProfile/publishProfile.ts @@ -6,7 +6,7 @@ import * as xmldom from 'xmldom'; import * as constants from '../../common/constants'; import * as utils from '../../common/utils'; -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; import * as vscodeMssql from 'vscode-mssql'; import * as vscode from 'vscode'; diff --git a/extensions/sql-database-projects/src/test/dialogs/createProjectFromDatabaseDialog.test.ts b/extensions/sql-database-projects/src/test/dialogs/createProjectFromDatabaseDialog.test.ts index c3d77c885f..71bf7cb6a8 100644 --- a/extensions/sql-database-projects/src/test/dialogs/createProjectFromDatabaseDialog.test.ts +++ b/extensions/sql-database-projects/src/test/dialogs/createProjectFromDatabaseDialog.test.ts @@ -5,7 +5,7 @@ import * as should from 'should'; import * as azdata from 'azdata'; -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; import * as sinon from 'sinon'; import { CreateProjectFromDatabaseDialog } from '../../dialogs/createProjectFromDatabaseDialog'; import { mockConnectionProfile } from '../testContext'; @@ -94,7 +94,7 @@ describe('Create Project From Database Dialog', () => { let model: ImportDataModel; - const expectedImportDataModel: ImportDataModel = { + const expectedImportDataModel: ImportDataModel = { connectionUri: stubUri, database: 'My Database', projName: 'testProject', diff --git a/extensions/sql-database-projects/src/test/projectController.test.ts b/extensions/sql-database-projects/src/test/projectController.test.ts index de2876144e..f598a5210a 100644 --- a/extensions/sql-database-projects/src/test/projectController.test.ts +++ b/extensions/sql-database-projects/src/test/projectController.test.ts @@ -14,7 +14,7 @@ import * as baselines from './baselines/baselines'; import * as templates from '../templates/templates'; import * as testUtils from './testUtils'; import * as constants from '../common/constants'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import * as utils from '../common/utils'; import { SqlDatabaseProjectTreeViewProvider } from '../controllers/databaseProjectTreeViewProvider'; diff --git a/extensions/sql-database-projects/src/test/testContext.ts b/extensions/sql-database-projects/src/test/testContext.ts index f75347d355..eb03f392f4 100644 --- a/extensions/sql-database-projects/src/test/testContext.ts +++ b/extensions/sql-database-projects/src/test/testContext.ts @@ -7,7 +7,8 @@ import * as vscode from 'vscode'; import * as azdata from 'azdata'; import * as path from 'path'; import * as TypeMoq from 'typemoq'; -import * as mssql from '../../../mssql/src/mssql'; +import * as mssql from 'mssql'; + export interface TestContext { context: vscode.ExtensionContext; diff --git a/extensions/sql-database-projects/src/tools/buildHelper.ts b/extensions/sql-database-projects/src/tools/buildHelper.ts index 3436b12cb9..8ffabd2ad5 100644 --- a/extensions/sql-database-projects/src/tools/buildHelper.ts +++ b/extensions/sql-database-projects/src/tools/buildHelper.ts @@ -8,7 +8,7 @@ import * as path from 'path'; import { promises as fs } from 'fs'; import * as utils from '../common/utils'; import { errorFindingBuildFilesLocation } from '../common/constants'; -import * as mssql from '../../../mssql/src/mssql'; +import * as mssql from 'mssql'; import * as vscodeMssql from 'vscode-mssql'; import * as sqldbproj from 'sqldbproj'; diff --git a/extensions/sql-database-projects/src/typings/ref.d.ts b/extensions/sql-database-projects/src/typings/ref.d.ts index 5d0200b735..762611dd95 100644 --- a/extensions/sql-database-projects/src/typings/ref.d.ts +++ b/extensions/sql-database-projects/src/typings/ref.d.ts @@ -7,5 +7,6 @@ /// /// /// +/// /// /// diff --git a/extensions/sql-migration/src/dialog/assessmentResults/assessmentResultsDialog.ts b/extensions/sql-migration/src/dialog/assessmentResults/assessmentResultsDialog.ts index 3e52be92b1..13d6a889b4 100644 --- a/extensions/sql-migration/src/dialog/assessmentResults/assessmentResultsDialog.ts +++ b/extensions/sql-migration/src/dialog/assessmentResults/assessmentResultsDialog.ts @@ -7,7 +7,7 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; import { MigrationStateModel, MigrationTargetType } from '../../models/stateMachine'; import { SqlDatabaseTree } from './sqlDatabasesTree'; -import { SqlMigrationImpactedObjectInfo } from '../../../../mssql/src/mssql'; +import { SqlMigrationImpactedObjectInfo } from 'mssql'; import { SKURecommendationPage } from '../../wizard/skuRecommendationPage'; export type Issues = { diff --git a/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts b/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts index fb0c4af365..744561626b 100644 --- a/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts +++ b/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; import * as vscode from 'vscode'; -import { SqlMigrationAssessmentResultItem, SqlMigrationImpactedObjectInfo } from '../../../../mssql/src/mssql'; +import { SqlMigrationAssessmentResultItem, SqlMigrationImpactedObjectInfo } from 'mssql'; import { MigrationStateModel, MigrationTargetType } from '../../models/stateMachine'; import * as constants from '../../constants/strings'; import { debounce } from '../../api/utils'; diff --git a/extensions/sql-migration/src/dialog/retryMigration/retryMigrationDialog.ts b/extensions/sql-migration/src/dialog/retryMigration/retryMigrationDialog.ts index 28ee1f98a5..e7e877225e 100644 --- a/extensions/sql-migration/src/dialog/retryMigration/retryMigrationDialog.ts +++ b/extensions/sql-migration/src/dialog/retryMigration/retryMigrationDialog.ts @@ -5,7 +5,7 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; import { azureResource } from 'azureResource'; import { getLocations, getResourceGroupFromId, getBlobContainerId, getFullResourceGroupFromId, getResourceName } from '../../api/azure'; import { MigrationMode, MigrationStateModel, NetworkContainerType, SavedInfo } from '../../models/stateMachine'; diff --git a/extensions/sql-migration/src/dialog/skuRecommendationResults/skuRecommendationResultsDialog.ts b/extensions/sql-migration/src/dialog/skuRecommendationResults/skuRecommendationResultsDialog.ts index 7a69fce883..f4d4e86efd 100644 --- a/extensions/sql-migration/src/dialog/skuRecommendationResults/skuRecommendationResultsDialog.ts +++ b/extensions/sql-migration/src/dialog/skuRecommendationResults/skuRecommendationResultsDialog.ts @@ -8,7 +8,7 @@ import * as vscode from 'vscode'; import { MigrationStateModel, MigrationTargetType } from '../../models/stateMachine'; import * as constants from '../../constants/strings'; import * as styles from '../../constants/styles'; -import * as mssql from '../../../../mssql'; +import * as mssql from 'mssql'; export class SkuRecommendationResultsDialog { diff --git a/extensions/sql-migration/src/main.ts b/extensions/sql-migration/src/main.ts index 263ed816f1..ef4c18988f 100644 --- a/extensions/sql-migration/src/main.ts +++ b/extensions/sql-migration/src/main.ts @@ -6,7 +6,7 @@ import * as vscode from 'vscode'; import * as azdata from 'azdata'; import { WizardController } from './wizard/wizardController'; -import * as mssql from '../../mssql'; +import * as mssql from 'mssql'; import { promises as fs } from 'fs'; import * as loc from './constants/strings'; import { MigrationNotebookInfo, NotebookPathHelper } from './constants/notebookPathHelper'; diff --git a/extensions/sql-migration/src/models/stateMachine.ts b/extensions/sql-migration/src/models/stateMachine.ts index bbb91a9738..32bef1f814 100644 --- a/extensions/sql-migration/src/models/stateMachine.ts +++ b/extensions/sql-migration/src/models/stateMachine.ts @@ -7,7 +7,7 @@ import * as azdata from 'azdata'; import { azureResource } from 'azureResource'; import * as azurecore from 'azurecore'; import * as vscode from 'vscode'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import { getAvailableManagedInstanceProducts, getAvailableStorageAccounts, getBlobContainers, getFileShares, getSqlMigrationServices, getSubscriptions, SqlMigrationService, SqlManagedInstance, startDatabaseMigration, StartDatabaseMigrationRequest, StorageAccount, getAvailableSqlVMs, SqlVMServer, getLocations, getResourceGroups, getLocationDisplayName, getSqlManagedInstanceDatabases, getBlobs } from '../api/azure'; import * as constants from '../constants/strings'; import { MigrationLocalStorage } from './migrationLocalStorage'; diff --git a/extensions/sql-migration/src/typings/ref.d.ts b/extensions/sql-migration/src/typings/ref.d.ts index 0e316762ac..2b35c0bf9f 100644 --- a/extensions/sql-migration/src/typings/ref.d.ts +++ b/extensions/sql-migration/src/typings/ref.d.ts @@ -8,4 +8,5 @@ /// /// /// +/// /// diff --git a/extensions/sql-migration/src/wizard/skuRecommendationPage.ts b/extensions/sql-migration/src/wizard/skuRecommendationPage.ts index db5e8942e3..fc6d0bd62e 100644 --- a/extensions/sql-migration/src/wizard/skuRecommendationPage.ts +++ b/extensions/sql-migration/src/wizard/skuRecommendationPage.ts @@ -5,7 +5,7 @@ import * as azdata from 'azdata'; import * as vscode from 'vscode'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import { MigrationWizardPage } from '../models/migrationWizardPage'; import { MigrationStateModel, MigrationTargetType, PerformanceDataSourceOptions, StateChangeEvent } from '../models/stateMachine'; import { AssessmentResultsDialog } from '../dialog/assessmentResults/assessmentResultsDialog'; diff --git a/extensions/sql-migration/src/wizard/wizardController.ts b/extensions/sql-migration/src/wizard/wizardController.ts index 573484f7f2..8b733bc6ba 100644 --- a/extensions/sql-migration/src/wizard/wizardController.ts +++ b/extensions/sql-migration/src/wizard/wizardController.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as azdata from 'azdata'; import * as vscode from 'vscode'; -import * as mssql from '../../../mssql'; +import * as mssql from 'mssql'; import { MigrationStateModel, NetworkContainerType, Page } from '../models/stateMachine'; import * as loc from '../constants/strings'; import { MigrationWizardPage } from '../models/migrationWizardPage'; diff --git a/src/sql/workbench/api/common/sqlExtHost.protocol.ts b/src/sql/workbench/api/common/sqlExtHost.protocol.ts index d205e2c0da..16031ad236 100644 --- a/src/sql/workbench/api/common/sqlExtHost.protocol.ts +++ b/src/sql/workbench/api/common/sqlExtHost.protocol.ts @@ -719,7 +719,7 @@ export const SqlMainContext = { MainThreadNotebook: createMainId('MainThreadNotebook'), MainThreadNotebookDocumentsAndEditors: createMainId('MainThreadNotebookDocumentsAndEditors'), MainThreadExtensionManagement: createMainId('MainThreadExtensionManagement'), - MainThreadWorkspace: createMainId('MainThreadWorkspace') + MainThreadWorkspace: createMainId('MainThreadWorkspace'), }; export const SqlExtHostContext = { @@ -742,7 +742,7 @@ export const SqlExtHostContext = { ExtHostNotebook: createExtId('ExtHostNotebook'), ExtHostNotebookDocumentsAndEditors: createExtId('ExtHostNotebookDocumentsAndEditors'), ExtHostExtensionManagement: createExtId('ExtHostExtensionManagement'), - ExtHostWorkspace: createExtId('ExtHostWorkspace') + ExtHostWorkspace: createExtId('ExtHostWorkspace'), }; export interface MainThreadDashboardShape extends IDisposable {