@@ -515,12 +515,11 @@ export class DatabaseUI extends DisposableObject {
515515 private async handleUpgradeCurrentDatabase ( ) : Promise < void > {
516516 return withProgress (
517517 async ( progress , token ) => {
518- await this . handleUpgradeDatabaseInternal (
519- progress ,
520- token ,
521- this . databaseManager . currentDatabaseItem ,
522- [ ] ,
523- ) ;
518+ if ( this . databaseManager . currentDatabaseItem !== undefined ) {
519+ await this . handleUpgradeDatabasesInternal ( progress , token , [
520+ this . databaseManager . currentDatabaseItem ,
521+ ] ) ;
522+ }
524523 } ,
525524 {
526525 title : "Upgrading current database" ,
@@ -535,11 +534,12 @@ export class DatabaseUI extends DisposableObject {
535534 ) : Promise < void > {
536535 return withProgress (
537536 async ( progress , token ) => {
538- return await this . handleUpgradeDatabaseInternal (
537+ return await this . handleUpgradeDatabasesInternal (
539538 progress ,
540539 token ,
541- databaseItem ,
542- multiSelect ,
540+ multiSelect === undefined && databaseItem !== undefined
541+ ? [ databaseItem ]
542+ : multiSelect || [ ] ,
543543 ) ;
544544 } ,
545545 {
@@ -549,46 +549,42 @@ export class DatabaseUI extends DisposableObject {
549549 ) ;
550550 }
551551
552- private async handleUpgradeDatabaseInternal (
552+ private async handleUpgradeDatabasesInternal (
553553 progress : ProgressCallback ,
554554 token : CancellationToken ,
555- databaseItem : DatabaseItem | undefined ,
556- multiSelect : DatabaseItem [ ] | undefined ,
555+ databaseItems : DatabaseItem [ ] ,
557556 ) : Promise < void > {
558- if ( multiSelect ?. length ) {
559- await Promise . all (
560- multiSelect . map ( ( dbItem ) =>
561- this . handleUpgradeDatabaseInternal ( progress , token , dbItem , [ ] ) ,
562- ) ,
563- ) ;
564- }
565- if ( this . queryServer === undefined ) {
566- throw new Error (
567- "Received request to upgrade database, but there is no running query server." ,
568- ) ;
569- }
570- if ( databaseItem === undefined ) {
571- throw new Error (
572- "Received request to upgrade database, but no database was provided." ,
573- ) ;
574- }
575- if ( databaseItem . contents === undefined ) {
576- throw new Error (
577- "Received request to upgrade database, but database contents could not be found." ,
578- ) ;
579- }
580- if ( databaseItem . contents . dbSchemeUri === undefined ) {
581- throw new Error (
582- "Received request to upgrade database, but database has no schema." ,
583- ) ;
584- }
557+ await Promise . all (
558+ databaseItems . map ( async ( databaseItem ) => {
559+ if ( this . queryServer === undefined ) {
560+ throw new Error (
561+ "Received request to upgrade database, but there is no running query server." ,
562+ ) ;
563+ }
564+ if ( databaseItem === undefined ) {
565+ throw new Error (
566+ "Received request to upgrade database, but no database was provided." ,
567+ ) ;
568+ }
569+ if ( databaseItem . contents === undefined ) {
570+ throw new Error (
571+ "Received request to upgrade database, but database contents could not be found." ,
572+ ) ;
573+ }
574+ if ( databaseItem . contents . dbSchemeUri === undefined ) {
575+ throw new Error (
576+ "Received request to upgrade database, but database has no schema." ,
577+ ) ;
578+ }
585579
586- // Search for upgrade scripts in any workspace folders available
580+ // Search for upgrade scripts in any workspace folders available
587581
588- await this . queryServer . upgradeDatabaseExplicit (
589- databaseItem ,
590- progress ,
591- token ,
582+ await this . queryServer . upgradeDatabaseExplicit (
583+ databaseItem ,
584+ progress ,
585+ token ,
586+ ) ;
587+ } ) ,
592588 ) ;
593589 }
594590
0 commit comments