[SQLDB-Migration] Collation Validation (#21572)

Adding collation validation in target database selection page.

collecting source database info including state, size, collation etc in the step 1 (select databases to assess and migrate)
comparing source database collation and target database collation in target selection page.
image
This commit is contained in:
siyang yao
2023-01-12 09:45:02 -08:00
committed by GitHub
parent 52f9a476a0
commit 37f81d9ec2
6 changed files with 74 additions and 4 deletions

View File

@@ -14,7 +14,7 @@ import { v4 as uuidv4 } from 'uuid';
import { sendSqlMigrationActionEvent, TelemetryAction, TelemetryViews, logError } from '../telemtery';
import { hashString, deepClone } from '../api/utils';
import { SKURecommendationPage } from '../wizard/skuRecommendationPage';
import { excludeDatabases, getConnectionProfile, LoginTableInfo, TargetDatabaseInfo } from '../api/sqlUtils';
import { excludeDatabases, getConnectionProfile, LoginTableInfo, SourceDatabaseInfo, TargetDatabaseInfo } from '../api/sqlUtils';
const localize = nls.loadMessageBundle();
export enum ValidateIrState {
@@ -143,6 +143,7 @@ export interface SavedInfo {
closedPage: number;
databaseAssessment: string[];
databaseList: string[];
databaseInfoList: SourceDatabaseInfo[];
migrationTargetType: MigrationTargetType | null;
azureAccount: azdata.Account | null;
azureTenant: azurecore.Tenant | null;
@@ -218,6 +219,7 @@ export class MigrationStateModel implements Model, vscode.Disposable {
public mementoString: string;
public _databasesForMigration: string[] = [];
public _databaseInfosForMigration: SourceDatabaseInfo[] = [];
public _didUpdateDatabasesForMigration: boolean = false;
public _didDatabaseMappingChange: boolean = false;
public _vmDbs: string[] = [];
@@ -1268,6 +1270,7 @@ export class MigrationStateModel implements Model, vscode.Disposable {
closedPage: currentPage,
databaseAssessment: [],
databaseList: [],
databaseInfoList: [],
migrationTargetType: null,
azureAccount: null,
azureTenant: null,