From 71d8c236972cc881ddfac6b9b8222293aca2e17a Mon Sep 17 00:00:00 2001 From: Warren Buckley Date: Thu, 1 Jun 2023 12:25:38 +0100 Subject: [PATCH] The database types from the server has a int property designed for the sortOrder to ensure SQLite is first --- .../database/installer-database.element.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts b/src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts index eb31753fc6..d8a55435a2 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/installer/database/installer-database.element.ts @@ -57,8 +57,24 @@ export class UmbInstallerDatabaseElement extends UmbLitElement { if (!this._installerContext) return; this.observe(this._installerContext.settings, (settings) => { + this._databases = settings?.databases ?? []; + // Sort the databases array if not empty and by sortOrder if it exists + if (this._databases.length > 0) { + const databasesCopy = [...this._databases]; + databasesCopy.sort((a, b) => { + if (a.sortOrder === undefined) { + return -1; + } + if (b.sortOrder === undefined) { + return 1; + } + return a.sortOrder - b.sortOrder; + }); + this._databases = databasesCopy; + } + // If there is an isConfigured database in the databases array then we can skip the database selection step // and just use that. this._preConfiguredDatabase = this._databases.find((x) => x.isConfigured);