1
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
|
namespace Yes.Application.Installs
|
||||||
namespace Yes.Application.Admins.Installs
|
|
||||||
{
|
{
|
||||||
public class FileService:IFileService
|
public class FileService : IFileService
|
||||||
{
|
{
|
||||||
public void CopyFolder(string sources, string dest)
|
public void CopyFolder(string sources, string dest)
|
||||||
{
|
{
|
||||||
@@ -1,22 +1,21 @@
|
|||||||
namespace Yes.Application.Admins.Installs
|
namespace Yes.Application.Installs
|
||||||
{
|
{
|
||||||
public record InstallCommand(
|
public record InstallCommand(
|
||||||
string DatabaseType,
|
string DatabaseType,
|
||||||
string DatabaseServer,
|
string DatabaseServer,
|
||||||
string DatabaseVersion,
|
|
||||||
string DatabaseUser,
|
string DatabaseUser,
|
||||||
string DatabasePassword,
|
string DatabasePassword,
|
||||||
string DatabaseName,
|
string DatabaseName,
|
||||||
bool UseDefaultAdmin
|
bool UseDefaultAdmin
|
||||||
) : IRequest<InstallCommandResponse>;
|
) : IRequest<InstallCommandResponse>;
|
||||||
|
|
||||||
public record InstallCommandResponse(bool Success,string ErrorMessage="");
|
public record InstallCommandResponse(bool Success, string ErrorMessage = "");
|
||||||
|
|
||||||
public class InstallCommandHandler(
|
public class InstallCommandHandler(
|
||||||
IConnectionStringProvider connectionStringProvider,
|
IConnectionStringProvider connectionStringProvider,
|
||||||
IMigratorProvider migratorProvider,
|
IMigratorProvider migratorProvider,
|
||||||
IWebHostEnvironment env,
|
IWebHostEnvironment env,
|
||||||
IConfigurationService configurationService,
|
IConfigurationService configurationService,
|
||||||
IFileService fileService,
|
IFileService fileService,
|
||||||
IOptionsMonitor<BlogSettings> options) : IRequestHandler<InstallCommand, InstallCommandResponse>
|
IOptionsMonitor<BlogSettings> options) : IRequestHandler<InstallCommand, InstallCommandResponse>
|
||||||
{
|
{
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Mapster.DependencyInjection" Version="1.0.1" />
|
<PackageReference Include="Mapster.DependencyInjection" Version="1.0.1" />
|
||||||
<PackageReference Include="Qiniu" Version="8.7.0" />
|
<PackageReference Include="Qiniu" Version="8.7.0" />
|
||||||
<PackageReference Include="MediatR" Version="12.4.1" />
|
<PackageReference Include="MediatR" Version="12.5.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -91,10 +91,6 @@
|
|||||||
<option value="PostgreSql">PostgreSQL</option>
|
<option value="PostgreSql">PostgreSQL</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group" x-show="data.databaseType && data.databaseType=='MySql'">
|
|
||||||
<label>数据库版本:</label>
|
|
||||||
<input type="text" class="form-control" x-model="data.databaseVersion" placeholder="请填写数据库版本">
|
|
||||||
</div>
|
|
||||||
<div class="form-group" >
|
<div class="form-group" >
|
||||||
<label>数据库地址:</label>
|
<label>数据库地址:</label>
|
||||||
<input type="text" class="form-control" x-model="data.databaseServer" placeholder="请输入您的数据库地址">
|
<input type="text" class="form-control" x-model="data.databaseServer" placeholder="请输入您的数据库地址">
|
||||||
@@ -105,7 +101,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group" >
|
<div class="form-group" >
|
||||||
<label>数据库密码:</label>
|
<label>数据库密码:</label>
|
||||||
<input type="password" class="form-control" x-model="data.databasePassword" placeholder="请输入您的数据库密码">
|
<input type="text" class="form-control" x-model="data.databasePassword" placeholder="请输入您的数据库密码">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group" >
|
<div class="form-group" >
|
||||||
<label>数据库名称:</label>
|
<label>数据库名称:</label>
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
using Yes.Application.Installs;
|
||||||
|
|
||||||
namespace Yes.Blog.Endpoints.Blogs
|
namespace Yes.Blog.Endpoints.Blogs
|
||||||
{
|
{
|
||||||
public class InstallEndpoint : BlogEndpointScheme, IEndpoint
|
public class InstallEndpoint : BlogEndpointScheme, IEndpoint
|
||||||
@@ -9,7 +11,6 @@ namespace Yes.Blog.Endpoints.Blogs
|
|||||||
public record Request(
|
public record Request(
|
||||||
string DatabaseType,
|
string DatabaseType,
|
||||||
string DatabaseServer,
|
string DatabaseServer,
|
||||||
string DatabaseVersion,
|
|
||||||
string DatabaseUser,
|
string DatabaseUser,
|
||||||
string DatabasePassword,
|
string DatabasePassword,
|
||||||
string DatabaseName,
|
string DatabaseName,
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ global using Yes.Application.Admins.Auths;
|
|||||||
global using Yes.Application.Admins.Categories;
|
global using Yes.Application.Admins.Categories;
|
||||||
global using Yes.Application.Admins.Comments;
|
global using Yes.Application.Admins.Comments;
|
||||||
global using Yes.Application.Admins.Configurations;
|
global using Yes.Application.Admins.Configurations;
|
||||||
global using Yes.Application.Admins.Installs;
|
|
||||||
global using Yes.Application.Admins.Pages;
|
global using Yes.Application.Admins.Pages;
|
||||||
global using Yes.Application.Admins.Statistics;
|
global using Yes.Application.Admins.Statistics;
|
||||||
global using Yes.Application.Admins.Storages;
|
global using Yes.Application.Admins.Storages;
|
||||||
|
|||||||
@@ -40,11 +40,11 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FluentValidation" Version="11.11.0" />
|
<PackageReference Include="FluentValidation" Version="12.0.0" />
|
||||||
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="11.11.0" />
|
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="12.0.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.4" />
|
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.4" />
|
||||||
<PackageReference Include="MinimalApis.LiquidViews" Version="2.16.0" />
|
<PackageReference Include="MinimalApis.LiquidViews" Version="2.24.0" />
|
||||||
<PackageReference Include="Scalar.AspNetCore" Version="2.2.2" />
|
<PackageReference Include="Scalar.AspNetCore" Version="2.2.7" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
public string DatabaseType { get; set; }
|
public string DatabaseType { get; set; }
|
||||||
|
|
||||||
public string DatabaseVersion { get; set; }
|
|
||||||
|
|
||||||
public string Name { get; set; } = "我的博客";
|
public string Name { get; set; } = "我的博客";
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ namespace Yes.Domain.Core.Data
|
|||||||
|
|
||||||
DatabaseTypeEnum GetDatabaseType();
|
DatabaseTypeEnum GetDatabaseType();
|
||||||
|
|
||||||
string GetDatabaseVersion();
|
|
||||||
|
|
||||||
|
|
||||||
string GetConnectionStringWithoutDatabase(DatabaseTypeEnum databaseType, string connectionString);
|
string GetConnectionStringWithoutDatabase(DatabaseTypeEnum databaseType, string connectionString);
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Markdig" Version="0.39.1" />
|
<PackageReference Include="Markdig" Version="0.41.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.0" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.4" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -29,11 +29,6 @@
|
|||||||
return databaseType;
|
return databaseType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetDatabaseVersion()
|
|
||||||
{
|
|
||||||
return _settings.DatabaseVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string GetConnectionStringWithoutDatabase(DatabaseTypeEnum databaseType, string connectionString)
|
public string GetConnectionStringWithoutDatabase(DatabaseTypeEnum databaseType, string connectionString)
|
||||||
{
|
{
|
||||||
var builder = ConnectionStringBuilderFactory.CreateStringBuilder(databaseType, connectionString);
|
var builder = ConnectionStringBuilderFactory.CreateStringBuilder(databaseType, connectionString);
|
||||||
|
|||||||
@@ -5,14 +5,12 @@
|
|||||||
|
|
||||||
private readonly string _connectionString;
|
private readonly string _connectionString;
|
||||||
private readonly DatabaseTypeEnum _databaseType;
|
private readonly DatabaseTypeEnum _databaseType;
|
||||||
private readonly string _databaseVersion;
|
|
||||||
|
|
||||||
|
|
||||||
public BlogDbContext(IConnectionStringProvider connectionStringProvider)
|
public BlogDbContext(IConnectionStringProvider connectionStringProvider)
|
||||||
{
|
{
|
||||||
_connectionString = connectionStringProvider.GetConnectionString();
|
_connectionString = connectionStringProvider.GetConnectionString();
|
||||||
_databaseType = connectionStringProvider.GetDatabaseType();
|
_databaseType = connectionStringProvider.GetDatabaseType();
|
||||||
_databaseVersion = connectionStringProvider.GetDatabaseVersion();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -22,7 +20,7 @@
|
|||||||
_ = _databaseType switch
|
_ = _databaseType switch
|
||||||
{
|
{
|
||||||
DatabaseTypeEnum.SqlServer => builder.UseSqlServer(_connectionString),
|
DatabaseTypeEnum.SqlServer => builder.UseSqlServer(_connectionString),
|
||||||
DatabaseTypeEnum.MySql => builder.UseMySql(_connectionString, string.IsNullOrEmpty(_databaseVersion) ? MySqlServerVersion.AutoDetect(_connectionString) : new MySqlServerVersion(_databaseVersion)),
|
DatabaseTypeEnum.MySql => builder.UseMySql(_connectionString, MySqlServerVersion.AutoDetect(_connectionString)),
|
||||||
DatabaseTypeEnum.PostgreSQL => builder.UseNpgsql(_connectionString),
|
DatabaseTypeEnum.PostgreSQL => builder.UseNpgsql(_connectionString),
|
||||||
|
|
||||||
_ => throw new DatabaseNotSupportedException()
|
_ => throw new DatabaseNotSupportedException()
|
||||||
|
|||||||
@@ -7,15 +7,15 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Dapper" Version="2.1.35" />
|
<PackageReference Include="Dapper" Version="2.1.66" />
|
||||||
<PackageReference Include="FluentMigrator" Version="6.2.0" />
|
<PackageReference Include="FluentMigrator" Version="7.1.0" />
|
||||||
<PackageReference Include="FluentMigrator.Runner" Version="6.2.0" />
|
<PackageReference Include="FluentMigrator.Runner" Version="7.1.0" />
|
||||||
<PackageReference Include="Fluid.ViewEngine" Version="2.16.0" />
|
<PackageReference Include="Fluid.ViewEngine" Version="2.24.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.4" />
|
||||||
<PackageReference Include="Microsoft.OpenApi" Version="1.6.17" />
|
<PackageReference Include="Microsoft.OpenApi" Version="1.6.24" />
|
||||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.2" />
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
|
||||||
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="9.0.0-preview.2.efcore.9.0.0" />
|
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="9.0.0-preview.2.efcore.9.0.0" />
|
||||||
<PackageReference Include="MySql.Data" Version="9.1.0" />
|
<PackageReference Include="MySql.Data" Version="9.3.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user