This commit is contained in:
2025-05-07 16:15:05 +08:00
parent 85772cb43a
commit ab7ae290f0
13 changed files with 26 additions and 41 deletions

View File

@@ -1,7 +1,6 @@

namespace Yes.Application.Admins.Installs
namespace Yes.Application.Installs
{
public class FileService:IFileService
public class FileService : IFileService
{
public void CopyFolder(string sources, string dest)
{

View File

@@ -1,22 +1,21 @@
namespace Yes.Application.Admins.Installs
namespace Yes.Application.Installs
{
public record InstallCommand(
string DatabaseType,
string DatabaseServer,
string DatabaseVersion,
string DatabaseUser,
string DatabasePassword,
string DatabaseName,
bool UseDefaultAdmin
) : IRequest<InstallCommandResponse>;
public record InstallCommandResponse(bool Success,string ErrorMessage="");
public record InstallCommandResponse(bool Success, string ErrorMessage = "");
public class InstallCommandHandler(
IConnectionStringProvider connectionStringProvider,
IMigratorProvider migratorProvider,
IWebHostEnvironment env,
IConfigurationService configurationService,
IConfigurationService configurationService,
IFileService fileService,
IOptionsMonitor<BlogSettings> options) : IRequestHandler<InstallCommand, InstallCommandResponse>
{

View File

@@ -13,7 +13,7 @@
<ItemGroup>
<PackageReference Include="Mapster.DependencyInjection" Version="1.0.1" />
<PackageReference Include="Qiniu" Version="8.7.0" />
<PackageReference Include="MediatR" Version="12.4.1" />
<PackageReference Include="MediatR" Version="12.5.0" />
</ItemGroup>
<ItemGroup>

View File

@@ -91,10 +91,6 @@
<option value="PostgreSql">PostgreSQL</option>
</select>
</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" >
<label>数据库地址:</label>
<input type="text" class="form-control" x-model="data.databaseServer" placeholder="请输入您的数据库地址">
@@ -105,7 +101,7 @@
</div>
<div class="form-group" >
<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 class="form-group" >
<label>数据库名称:</label>

View File

@@ -1,5 +1,7 @@

using Yes.Application.Installs;
namespace Yes.Blog.Endpoints.Blogs
{
public class InstallEndpoint : BlogEndpointScheme, IEndpoint
@@ -9,7 +11,6 @@ namespace Yes.Blog.Endpoints.Blogs
public record Request(
string DatabaseType,
string DatabaseServer,
string DatabaseVersion,
string DatabaseUser,
string DatabasePassword,
string DatabaseName,

View File

@@ -18,7 +18,6 @@ global using Yes.Application.Admins.Auths;
global using Yes.Application.Admins.Categories;
global using Yes.Application.Admins.Comments;
global using Yes.Application.Admins.Configurations;
global using Yes.Application.Admins.Installs;
global using Yes.Application.Admins.Pages;
global using Yes.Application.Admins.Statistics;
global using Yes.Application.Admins.Storages;

View File

@@ -40,11 +40,11 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FluentValidation" Version="11.11.0" />
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="11.11.0" />
<PackageReference Include="FluentValidation" Version="12.0.0" />
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" Version="12.0.0" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.4" />
<PackageReference Include="MinimalApis.LiquidViews" Version="2.16.0" />
<PackageReference Include="Scalar.AspNetCore" Version="2.2.2" />
<PackageReference Include="MinimalApis.LiquidViews" Version="2.24.0" />
<PackageReference Include="Scalar.AspNetCore" Version="2.2.7" />
</ItemGroup>
<ItemGroup>

View File

@@ -8,7 +8,6 @@
public string DatabaseType { get; set; }
public string DatabaseVersion { get; set; }
public string Name { get; set; } = "我的博客";

View File

@@ -8,7 +8,6 @@ namespace Yes.Domain.Core.Data
DatabaseTypeEnum GetDatabaseType();
string GetDatabaseVersion();
string GetConnectionStringWithoutDatabase(DatabaseTypeEnum databaseType, string connectionString);

View File

@@ -11,8 +11,8 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Markdig" Version="0.39.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.0" />
<PackageReference Include="Markdig" Version="0.41.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.4" />
</ItemGroup>
<ItemGroup>

View File

@@ -29,11 +29,6 @@
return databaseType;
}
public string GetDatabaseVersion()
{
return _settings.DatabaseVersion;
}
public string GetConnectionStringWithoutDatabase(DatabaseTypeEnum databaseType, string connectionString)
{
var builder = ConnectionStringBuilderFactory.CreateStringBuilder(databaseType, connectionString);

View File

@@ -5,14 +5,12 @@
private readonly string _connectionString;
private readonly DatabaseTypeEnum _databaseType;
private readonly string _databaseVersion;
public BlogDbContext(IConnectionStringProvider connectionStringProvider)
{
_connectionString = connectionStringProvider.GetConnectionString();
_databaseType = connectionStringProvider.GetDatabaseType();
_databaseVersion = connectionStringProvider.GetDatabaseVersion();
}
@@ -22,7 +20,7 @@
_ = _databaseType switch
{
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),
_ => throw new DatabaseNotSupportedException()

View File

@@ -7,15 +7,15 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="2.1.35" />
<PackageReference Include="FluentMigrator" Version="6.2.0" />
<PackageReference Include="FluentMigrator.Runner" Version="6.2.0" />
<PackageReference Include="Fluid.ViewEngine" Version="2.16.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.0" />
<PackageReference Include="Microsoft.OpenApi" Version="1.6.17" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.2" />
<PackageReference Include="Dapper" Version="2.1.66" />
<PackageReference Include="FluentMigrator" Version="7.1.0" />
<PackageReference Include="FluentMigrator.Runner" Version="7.1.0" />
<PackageReference Include="Fluid.ViewEngine" Version="2.24.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.4" />
<PackageReference Include="Microsoft.OpenApi" Version="1.6.24" />
<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="MySql.Data" Version="9.1.0" />
<PackageReference Include="MySql.Data" Version="9.3.0" />
</ItemGroup>
<ItemGroup>