[SQL Migration] Add buttons to allow saving assessment/recommendation reports (#20212)

* Implement save assessment report

* Implement save recommendation report
This commit is contained in:
Raymond Truong
2022-08-15 15:29:40 -07:00
committed by GitHub
parent 10f5b8b76e
commit e64171503a
7 changed files with 116 additions and 24 deletions

View File

@@ -199,6 +199,7 @@ export class MigrationStateModel implements Model, vscode.Disposable {
public _assessedDatabaseList!: string[];
public _runAssessments: boolean = true;
private _assessmentApiResponse!: mssql.AssessmentResult;
public _assessmentReportFilePath: string;
public mementoString: string;
public _databasesForMigration: string[] = [];
@@ -210,6 +211,7 @@ export class MigrationStateModel implements Model, vscode.Disposable {
public _skuRecommendationResults!: SkuRecommendation;
public _skuRecommendationPerformanceDataSource!: PerformanceDataSourceOptions;
private _skuRecommendationApiResponse!: mssql.SkuRecommendationResult;
public _skuRecommendationReportFilePaths: string[];
public _skuRecommendationPerformanceLocation!: string;
private _skuRecommendationRecommendedDatabaseList!: string[];
private _startPerfDataCollectionApiResponse!: mssql.StartPerfDataCollectionResult;
@@ -263,6 +265,8 @@ export class MigrationStateModel implements Model, vscode.Disposable {
this._databaseBackup.networkShares = [];
this._databaseBackup.blobs = [];
this._targetDatabaseNames = [];
this._assessmentReportFilePath = '';
this._skuRecommendationReportFilePaths = [];
this.mementoString = 'sqlMigration.assessmentResults';
this._skuScalingFactor = 100;
@@ -325,6 +329,7 @@ export class MigrationStateModel implements Model, vscode.Disposable {
}) ?? [],
errors: this._assessmentApiResponse?.errors ?? []
};
this._assessmentReportFilePath = response.assessmentReportPath;
} else {
this._assessmentResults = {
issues: [],
@@ -394,16 +399,19 @@ export class MigrationStateModel implements Model, vscode.Disposable {
sqlDbRecommendationResults: response?.sqlDbRecommendationResults ?? [],
sqlMiRecommendationResults: response?.sqlMiRecommendationResults ?? [],
sqlVmRecommendationResults: response?.sqlVmRecommendationResults ?? [],
instanceRequirements: response?.instanceRequirements
instanceRequirements: response?.instanceRequirements,
skuRecommendationReportPaths: response?.skuRecommendationReportPaths
},
};
this._skuRecommendationReportFilePaths = response.skuRecommendationReportPaths;
} else {
this._skuRecommendationResults = {
recommendations: {
sqlDbRecommendationResults: [],
sqlMiRecommendationResults: [],
sqlVmRecommendationResults: [],
instanceRequirements: response?.instanceRequirements
instanceRequirements: response?.instanceRequirements,
skuRecommendationReportPaths: response?.skuRecommendationReportPaths
},
};
}
@@ -416,7 +424,8 @@ export class MigrationStateModel implements Model, vscode.Disposable {
sqlDbRecommendationResults: this._skuRecommendationApiResponse?.sqlDbRecommendationResults ?? [],
sqlMiRecommendationResults: this._skuRecommendationApiResponse?.sqlMiRecommendationResults ?? [],
sqlVmRecommendationResults: this._skuRecommendationApiResponse?.sqlVmRecommendationResults ?? [],
instanceRequirements: this._skuRecommendationApiResponse?.instanceRequirements
instanceRequirements: this._skuRecommendationApiResponse?.instanceRequirements,
skuRecommendationReportPaths: this._skuRecommendationApiResponse?.skuRecommendationReportPaths
},
recommendationError: error
};