Создание таблиц для цепочек подтверждения #1

Merged
gorbenko.pavel merged 9 commits from db-structure into main 2026-07-23 04:55:25 +00:00
8 changed files with 20 additions and 2 deletions
Showing only changes of commit 1d594acfda - Show all commits
+2 -1
View File
@@ -3,6 +3,7 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Extensions.Hosting.AsyncInitialization" Version="3.0.1" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.0" />
@@ -10,4 +11,4 @@
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0" />
<PackageVersion Include="MediatR" Version="12.4.1" />
</ItemGroup>
</Project>
</Project>
@@ -1,3 +1,4 @@
using Extensions.Hosting.AsyncInitialization;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@@ -18,6 +19,6 @@ if (app.Environment.IsDevelopment())
app.MapHealthChecks("/health");
app.Run();
await app.InitAndRunAsync();
public partial class Program;
@@ -4,6 +4,7 @@
<ProjectReference Include="..\Tnsu.ApprovalRoute.Infrastructure\Tnsu.ApprovalRoute.Infrastructure.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Extensions.Hosting.AsyncInitialization" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
<PackageReference Include="MediatR" />
@@ -2,6 +2,7 @@ namespace Tnsu.ApprovalRoute.Domain.Enums;
public enum RouteStepStatus
{
None,
Draft,
OnApproval,
Approved,
@@ -2,6 +2,7 @@ namespace Tnsu.ApprovalRoute.Domain.Enums;
public enum RouteType
{
None,
Parallel,
Sequential
}
@@ -1,3 +1,4 @@
using Extensions.Hosting.AsyncInitialization;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
@@ -12,6 +13,7 @@ public static class InfrastructureServiceCollectionExtensions
{
services.AddDbContext<ApprovalRouteDbContext>(opt =>
opt.UseNpgsql(configuration.GetConnectionString("Postgres")));
services.AddAsyncInitializer<DatabaseMigrationInitializer>();
return services;
}
@@ -0,0 +1,10 @@
using Extensions.Hosting.AsyncInitialization;
using Microsoft.EntityFrameworkCore;
namespace Tnsu.ApprovalRoute.Infrastructure.Persistence;
public sealed class DatabaseMigrationInitializer(ApprovalRouteDbContext db) : IAsyncInitializer
{
public Task InitializeAsync(CancellationToken cancellationToken) =>
db.Database.MigrateAsync(cancellationToken);
}
@@ -4,6 +4,7 @@
<ProjectReference Include="..\Tnsu.ApprovalRoute.Domain\Tnsu.ApprovalRoute.Domain.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Extensions.Hosting.AsyncInitialization" />
<PackageReference Include="Microsoft.EntityFrameworkCore" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />