diff --git a/extensions/sql-migration/src/constants/strings.ts b/extensions/sql-migration/src/constants/strings.ts index a86e1a66cc..ad8625c902 100644 --- a/extensions/sql-migration/src/constants/strings.ts +++ b/extensions/sql-migration/src/constants/strings.ts @@ -434,6 +434,7 @@ export const LAST_BACKUP = localize('sql.migration.last.backup', "Last backup"); export const DATABASE_FOR_MIGRATION = localize('sql.migration.database.migration', "Databases for migration"); export const DATABASE_MIGRATE_TEXT = localize('sql.migrate.text', "Select database(s) that you want to migrate to Azure SQL"); export const OFFLINE_CAPS = localize('sql.migration.offline.caps', "OFFLINE"); +export const SELECT_DATABASE_TO_CONTINUE = localize('sql.migration.select.database.to.continue', "Please select 1 or more databases to assess for migration"); //Assessment Dialog export const ISSUES = localize('sql.migration.issues', "Issues"); diff --git a/extensions/sql-migration/src/wizard/databaseSelectorPage.ts b/extensions/sql-migration/src/wizard/databaseSelectorPage.ts index 2de1a658a2..4e4f4a444d 100644 --- a/extensions/sql-migration/src/wizard/databaseSelectorPage.ts +++ b/extensions/sql-migration/src/wizard/databaseSelectorPage.ts @@ -77,6 +77,20 @@ export class DatabaseSelectorPage extends MigrationWizardPage { public async onPageEnter(): Promise { this.wizard.registerNavigationValidator((pageChangeInfo) => { + this.wizard.message = { + text: '', + level: azdata.window.MessageLevel.Error + }; + if (pageChangeInfo.newPage < pageChangeInfo.lastPage) { + return true; + } + if (this.selectedDbs().length === 0) { + this.wizard.message = { + text: constants.SELECT_DATABASE_TO_CONTINUE, + level: azdata.window.MessageLevel.Error + }; + return false; + } return true; }); } @@ -92,6 +106,10 @@ export class DatabaseSelectorPage extends MigrationWizardPage { || assessedDatabases.some(db => selectedDatabases.indexOf(db) < 0); this.migrationStateModel._databaseAssessment = selectedDatabases; + this.wizard.message = { + text: '', + level: azdata.window.MessageLevel.Error + }; this.wizard.registerNavigationValidator((pageChangeInfo) => { return true;