From cbba05f54fcc6e8e2263b326f9e65c54d2ed37dc Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Thu, 9 Sep 2021 22:23:02 -0700 Subject: [PATCH] Using updated assessment nuget to get blocking issues (#17038) --- extensions/mssql/config.json | 2 +- extensions/mssql/src/mssql.d.ts | 4 ++-- .../assessmentResults/sqlDatabasesTree.ts | 20 +++++++------------ 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/extensions/mssql/config.json b/extensions/mssql/config.json index e9daf7edf3..01c47f74b6 100644 --- a/extensions/mssql/config.json +++ b/extensions/mssql/config.json @@ -1,6 +1,6 @@ { "downloadUrl": "https://github.com/Microsoft/sqltoolsservice/releases/download/v{#version#}/microsoft.sqltools.servicelayer-{#fileName#}", - "version": "3.0.0-release.127", + "version": "3.0.0-release.129", "downloadFileNames": { "Windows_86": "win-x86-net5.0.zip", "Windows_64": "win-x64-net5.0.zip", diff --git a/extensions/mssql/src/mssql.d.ts b/extensions/mssql/src/mssql.d.ts index 44908c8f60..e63f65d618 100644 --- a/extensions/mssql/src/mssql.d.ts +++ b/extensions/mssql/src/mssql.d.ts @@ -529,8 +529,7 @@ export interface SqlMigrationAssessmentResultItem { rulesetVersion: string; rulesetName: string; ruleId: string; - targetType: azdata.sqlAssessment.SqlAssessmentTargetType; - targetName: string; + targetType: string; checkId: string; tags: string[]; displayName: string; @@ -544,6 +543,7 @@ export interface SqlMigrationAssessmentResultItem { issueCategory: string; databaseName: string; impactedObjects: SqlMigrationImpactedObjectInfo[]; + databaseRestoreFails: boolean; } export interface ServerTargetReadiness { diff --git a/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts b/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts index a69c2711b9..b65abc184c 100644 --- a/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts +++ b/extensions/sql-migration/src/dialog/assessmentResults/sqlDatabasesTree.ts @@ -42,12 +42,6 @@ const headerRight: azdata.CssStyles = { 'border-bottom': '1px solid' }; -const blockingIssues: Array = [ - 'MultipleLogFiles', - 'FileStream', - 'MIDatabaseSize' -]; - export class SqlDatabaseTree { private _view!: azdata.ModelView; private _instanceTable!: azdata.DeclarativeTableComponent; @@ -103,8 +97,8 @@ export class SqlDatabaseTree { this._rootContainer.addItem(selectDbMessage, { flex: '1 1 auto' }); if (this._targetType === MigrationTargetType.SQLMI) { - if (!!this._model._assessmentResults?.issues.find(value => blockingIssues.includes(value.ruleId)) || - !!this._model._assessmentResults?.databaseAssessments.find(d => !!d.issues.find(issue => blockingIssues.includes(issue.ruleId)))) { + if (!!this._model._assessmentResults?.issues.find(value => value.databaseRestoreFails) || + !!this._model._assessmentResults?.databaseAssessments.find(d => !!d.issues.find(issue => issue.databaseRestoreFails))) { dialog.message = { level: azdata.window.MessageLevel.Warning, text: constants.ASSESSMENT_MIGRATION_WARNING, @@ -823,8 +817,8 @@ export class SqlDatabaseTree { const assessmentResults: azdata.DeclarativeTableCellValue[][] = this._activeIssues .sort((e1, e2) => { - if (blockingIssues.includes(e1.ruleId)) { return -1; } - if (blockingIssues.includes(e2.ruleId)) { return 1; } + if (e1.databaseRestoreFails) { return -1; } + if (e2.databaseRestoreFails) { return 1; } return e1.checkId.localeCompare(e2.checkId); }).map((v) => [ @@ -832,14 +826,14 @@ export class SqlDatabaseTree { value: this._view.modelBuilder .image() .withProps({ - iconPath: blockingIssues.includes(v.ruleId) + iconPath: v.databaseRestoreFails ? IconPathHelper.error : undefined, iconHeight: 16, iconWidth: 16, height: 16, width: 16, - title: blockingIssues.includes(v.ruleId) + title: v.databaseRestoreFails ? constants.ASSESSMENT_BLOCKING_ISSUE_TITLE : '', }) @@ -930,7 +924,7 @@ export class SqlDatabaseTree { this._dbNames = this._model._assessmentResults.databaseAssessments.map(da => da.name); this._model._assessmentResults.databaseAssessments.forEach((db) => { let selectable = true; - if (db.issues.find(item => blockingIssues.includes(item.ruleId))) { + if (db.issues.find(item => item.databaseRestoreFails)) { selectable = false; } this._databaseTableValues.push(