mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-20 17:22:51 -05:00
add error banner for failed migration cutover and cancel migration (#17106)
This commit is contained in:
@@ -4,12 +4,14 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { getMigrationStatus, DatabaseMigration, startMigrationCutover, stopMigration, getMigrationAsyncOperationDetails, AzureAsyncOperationResource, BackupFileInfo, getResourceGroupFromId } from '../../api/azure';
|
||||
import { MigrationContext } from '../../models/migrationLocalStorage';
|
||||
import { BackupFileInfoStatus, MigrationContext } from '../../models/migrationLocalStorage';
|
||||
import { sendSqlMigrationActionEvent, TelemetryAction, TelemetryViews } from '../../telemtery';
|
||||
import * as constants from '../../constants/strings';
|
||||
import { getMigrationTargetType, getMigrationMode } from '../../constants/helper';
|
||||
|
||||
export class MigrationCutoverDialogModel {
|
||||
public CutoverError?: Error;
|
||||
public CancelMigrationError?: Error;
|
||||
|
||||
public migrationStatus!: DatabaseMigration;
|
||||
public migrationOpStatus!: AzureAsyncOperationResource;
|
||||
@@ -47,6 +49,7 @@ export class MigrationCutoverDialogModel {
|
||||
|
||||
public async startCutover(): Promise<DatabaseMigration | undefined> {
|
||||
try {
|
||||
this.CutoverError = undefined;
|
||||
if (this.migrationStatus) {
|
||||
const cutover = await startMigrationCutover(
|
||||
this._migration.azureAccount,
|
||||
@@ -66,6 +69,7 @@ export class MigrationCutoverDialogModel {
|
||||
return cutover;
|
||||
}
|
||||
} catch (error) {
|
||||
this.CutoverError = error;
|
||||
console.log(error);
|
||||
}
|
||||
return undefined!;
|
||||
@@ -73,6 +77,7 @@ export class MigrationCutoverDialogModel {
|
||||
|
||||
public async cancelMigration(): Promise<void> {
|
||||
try {
|
||||
this.CancelMigrationError = undefined;
|
||||
if (this.migrationStatus) {
|
||||
const cutoverStartTime = new Date().toString();
|
||||
await stopMigration(
|
||||
@@ -93,6 +98,7 @@ export class MigrationCutoverDialogModel {
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
this.CancelMigrationError = error;
|
||||
console.log(error);
|
||||
}
|
||||
return undefined!;
|
||||
@@ -126,7 +132,7 @@ export class MigrationCutoverDialogModel {
|
||||
const files: BackupFileInfo[] = [];
|
||||
this.migrationStatus.properties.migrationStatusDetails?.activeBackupSets?.forEach(abs => {
|
||||
abs.listOfBackupFiles.forEach(f => {
|
||||
if (f.status !== 'Restored') {
|
||||
if (f.status !== BackupFileInfoStatus.Restored) {
|
||||
files.push(f);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user