set the DefaultDBType as the default database option in the Installer and Add Site UI
This commit is contained in:
		@ -31,7 +31,14 @@
 | 
			
		||||
                                {
 | 
			
		||||
                                    foreach (var database in _databases)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        <option value="@database.Name">@Localizer[@database.Name]</option>
 | 
			
		||||
                                        if (database.IsDefault)
 | 
			
		||||
                                        {
 | 
			
		||||
                                            <option value="@database.Name" selected>@Localizer[@database.Name]</option>
 | 
			
		||||
                                        }
 | 
			
		||||
                                        else
 | 
			
		||||
                                        {
 | 
			
		||||
                                            <option value="@database.Name">@Localizer[@database.Name]</option>
 | 
			
		||||
                                        }
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                            </select>
 | 
			
		||||
 | 
			
		||||
@ -130,7 +130,14 @@ else
 | 
			
		||||
                    <select id="databaseType" class="custom-select" value="@_databaseName" @onchange="(e => DatabaseChanged(e))">
 | 
			
		||||
                        @foreach (var database in _databases)
 | 
			
		||||
                        {
 | 
			
		||||
                            <option value="@database.Name">@Localizer[@database.Name]</option>
 | 
			
		||||
                            if (database.IsDefault)
 | 
			
		||||
                            {
 | 
			
		||||
                                <option value="@database.Name" selected>@Localizer[@database.Name]</option>
 | 
			
		||||
                            }
 | 
			
		||||
                            else
 | 
			
		||||
                            {
 | 
			
		||||
                                <option value="@database.Name">@Localizer[@database.Name]</option>
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    </select>
 | 
			
		||||
                </td>
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc;
 | 
			
		||||
using Microsoft.Extensions.Options;
 | 
			
		||||
using Oqtane.Infrastructure;
 | 
			
		||||
using Oqtane.Models;
 | 
			
		||||
using Oqtane.Shared;
 | 
			
		||||
 | 
			
		||||
@ -10,17 +11,25 @@ namespace Oqtane.Controllers
 | 
			
		||||
    public class DatabaseController : Controller
 | 
			
		||||
    {
 | 
			
		||||
        private IOptions<List<Database>> _databaseOptions;
 | 
			
		||||
        private IConfigManager _config;
 | 
			
		||||
 | 
			
		||||
        public DatabaseController(IOptions<List<Database>> databaseOptions)
 | 
			
		||||
        public DatabaseController(IOptions<List<Database>> databaseOptions, IConfigManager config)
 | 
			
		||||
        {
 | 
			
		||||
            _databaseOptions = databaseOptions;
 | 
			
		||||
            _config = config;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // GET: api/<controller>
 | 
			
		||||
        [HttpGet]
 | 
			
		||||
        public IEnumerable<Models.Database> Get()
 | 
			
		||||
        public IEnumerable<Database> Get()
 | 
			
		||||
        {
 | 
			
		||||
            return _databaseOptions.Value;
 | 
			
		||||
            var databases = _databaseOptions.Value;
 | 
			
		||||
            var master = _config.GetSetting(SettingKeys.DatabaseSection, SettingKeys.DatabaseTypeKey, "");
 | 
			
		||||
            if (master != "" && databases.Exists(item => item.DBType == master))
 | 
			
		||||
            {
 | 
			
		||||
                databases.Find(item => item.DBType == master).IsDefault = true;
 | 
			
		||||
            }
 | 
			
		||||
            return databases;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -19,5 +19,10 @@ namespace Oqtane.Models
 | 
			
		||||
        /// Type of DB using the full namespace, like `Oqtane.Database.SqlServer.SqlServerDatabase, Oqtane.Database.SqlServer`
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string DBType { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// whether this item is the default database provider ( ie. specified by DefaultDBType in appsettings.json )
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public bool IsDefault { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user