mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-12 02:58:31 -05:00
Fix connecting to MI login bug (#21821)
This PR fixes a regression for migration login for MI instances that was introduced in https://github.com/microsoft/azuredatastudio/pull/21776/files#diff-93c1a62583fa32d99f775b71ad27922cf31f660d10717ecc6966784306de1b6f. After that change, support for MI would fail as MI server types were going into the Sql VM path in sqlutils because the underlying logic for isSqlServerVM() was returning wrong results. The new approach uses the targetType set in StateMachine to extract the correct serverName for connection string based on the targetType. Testing: - Tested SQL VM login migration end to end - Tested SQL MI login migration end to end This change also bumps the sql-migration version to 1.3.0
This commit is contained in:
@@ -152,9 +152,6 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
break;
|
||||
}
|
||||
|
||||
const isSqlDbTarget = this.migrationStateModel._targetType === MigrationTargetType.SQLDB;
|
||||
console.log(isSqlDbTarget);
|
||||
|
||||
if (this._targetUserNameInputBox) {
|
||||
await this._targetUserNameInputBox.updateProperty('required', true);
|
||||
}
|
||||
@@ -174,6 +171,7 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
this._targetPasswordInputBox.value = '';
|
||||
this.migrationStateModel._sqlMigrationServices = undefined!;
|
||||
this.migrationStateModel._targetServerInstance = undefined!;
|
||||
this.migrationStateModel._targetServerName = undefined!;
|
||||
this.migrationStateModel._resourceGroup = undefined!;
|
||||
this.migrationStateModel._location = undefined!;
|
||||
await this.populateLocationDropdown();
|
||||
@@ -337,7 +335,6 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
this.migrationStateModel.isWindowsAuthMigrationSupported));
|
||||
this.migrationStateModel._loginMigrationModel.collectedSourceLogins = true;
|
||||
this.migrationStateModel._loginMigrationModel.loginsOnSource = sourceLogins;
|
||||
console.log(this.migrationStateModel._targetType);
|
||||
}));
|
||||
|
||||
const flexContainer = this._view.modelBuilder.flexContainer()
|
||||
@@ -616,7 +613,8 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
this.wizard.nextButton.enabled = false;
|
||||
loginsOnTarget.push(
|
||||
...await collectTargetLogins(
|
||||
targetDatabaseServer,
|
||||
this.migrationStateModel.targetServerName,
|
||||
targetDatabaseServer.id,
|
||||
userName,
|
||||
password,
|
||||
this.migrationStateModel.isWindowsAuthMigrationSupported));
|
||||
@@ -750,6 +748,7 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
this.migrationStateModel._azureAccount,
|
||||
this.migrationStateModel._targetSubscription,
|
||||
this.migrationStateModel._targetServerInstance);
|
||||
this.migrationStateModel.setTargetServerName();
|
||||
|
||||
this.wizard.message = { text: '' };
|
||||
|
||||
@@ -779,6 +778,7 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
|
||||
if (selectedMi) {
|
||||
this.migrationStateModel._targetServerInstance = utils.deepClone(selectedMi)! as azureResource.AzureSqlManagedInstance;
|
||||
this.migrationStateModel.setTargetServerName();
|
||||
|
||||
this.wizard.message = { text: '' };
|
||||
if (this.migrationStateModel._targetServerInstance.properties.state !== 'Ready') {
|
||||
@@ -797,6 +797,7 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
|
||||
if (sqlDatabaseServer) {
|
||||
this.migrationStateModel._targetServerInstance = utils.deepClone(sqlDatabaseServer)! as AzureSqlDatabaseServer;
|
||||
this.migrationStateModel.setTargetServerName();
|
||||
this.wizard.message = { text: '' };
|
||||
if (this.migrationStateModel._targetServerInstance.properties.state === 'Ready') {
|
||||
this._targetUserNameInputBox.value = this.migrationStateModel._targetServerInstance.properties.administratorLogin;
|
||||
@@ -813,6 +814,7 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
}
|
||||
} else {
|
||||
this.migrationStateModel._targetServerInstance = undefined!;
|
||||
this.migrationStateModel._targetServerName = undefined!;
|
||||
if (isSqlDbTarget) {
|
||||
this._targetUserNameInputBox.value = '';
|
||||
}
|
||||
@@ -990,14 +992,6 @@ export class LoginMigrationTargetSelectionPage extends MigrationWizardPage {
|
||||
this.migrationStateModel._resourceGroup?.name,
|
||||
constants.NO_VIRTUAL_MACHINE_FOUND);
|
||||
|
||||
let response = await utils.getVirtualMachinesDropdownValues(
|
||||
this.migrationStateModel._targetSqlVirtualMachines,
|
||||
this.migrationStateModel._location,
|
||||
this.migrationStateModel._resourceGroup,
|
||||
this.migrationStateModel._azureAccount,
|
||||
this.migrationStateModel._targetSubscription);
|
||||
console.log(response);
|
||||
|
||||
break;
|
||||
case MigrationTargetType.SQLDB:
|
||||
this._azureResourceDropdown.values = utils.getAzureResourceDropdownValues(
|
||||
|
||||
Reference in New Issue
Block a user