set the DefaultDBType as the default database option in the Installer and Add Site UI
This commit is contained in:
parent
aa5aca3a8e
commit
8f944e29ac
|
@ -30,10 +30,17 @@
|
||||||
@if (_databases != null)
|
@if (_databases != null)
|
||||||
{
|
{
|
||||||
foreach (var database in _databases)
|
foreach (var database in _databases)
|
||||||
|
{
|
||||||
|
if (database.IsDefault)
|
||||||
|
{
|
||||||
|
<option value="@database.Name" selected>@Localizer[@database.Name]</option>
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
<option value="@database.Name">@Localizer[@database.Name]</option>
|
<option value="@database.Name">@Localizer[@database.Name]</option>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -129,9 +129,16 @@ else
|
||||||
<td>
|
<td>
|
||||||
<select id="databaseType" class="custom-select" value="@_databaseName" @onchange="(e => DatabaseChanged(e))">
|
<select id="databaseType" class="custom-select" value="@_databaseName" @onchange="(e => DatabaseChanged(e))">
|
||||||
@foreach (var database in _databases)
|
@foreach (var database in _databases)
|
||||||
|
{
|
||||||
|
if (database.IsDefault)
|
||||||
|
{
|
||||||
|
<option value="@database.Name" selected>@Localizer[@database.Name]</option>
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
<option value="@database.Name">@Localizer[@database.Name]</option>
|
<option value="@database.Name">@Localizer[@database.Name]</option>
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
|
using Oqtane.Infrastructure;
|
||||||
using Oqtane.Models;
|
using Oqtane.Models;
|
||||||
using Oqtane.Shared;
|
using Oqtane.Shared;
|
||||||
|
|
||||||
|
@ -10,17 +11,25 @@ namespace Oqtane.Controllers
|
||||||
public class DatabaseController : Controller
|
public class DatabaseController : Controller
|
||||||
{
|
{
|
||||||
private IOptions<List<Database>> _databaseOptions;
|
private IOptions<List<Database>> _databaseOptions;
|
||||||
|
private IConfigManager _config;
|
||||||
|
|
||||||
public DatabaseController(IOptions<List<Database>> databaseOptions)
|
public DatabaseController(IOptions<List<Database>> databaseOptions, IConfigManager config)
|
||||||
{
|
{
|
||||||
_databaseOptions = databaseOptions;
|
_databaseOptions = databaseOptions;
|
||||||
|
_config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET: api/<controller>
|
// GET: api/<controller>
|
||||||
[HttpGet]
|
[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`
|
/// Type of DB using the full namespace, like `Oqtane.Database.SqlServer.SqlServerDatabase, Oqtane.Database.SqlServer`
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string DBType { get; set; }
|
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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user