Создание таблиц для цепочек подтверждения #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
+1
View File
@@ -3,6 +3,7 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageVersion Include="Extensions.Hosting.AsyncInitialization" Version="3.0.1" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.0" /> <PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.0" /> <PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="10.0.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.0" /> <PackageVersion Include="Microsoft.EntityFrameworkCore" Version="10.0.0" />
@@ -1,3 +1,4 @@
using Extensions.Hosting.AsyncInitialization;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
@@ -18,6 +19,6 @@ if (app.Environment.IsDevelopment())
app.MapHealthChecks("/health"); app.MapHealthChecks("/health");
app.Run(); await app.InitAndRunAsync();
public partial class Program; public partial class Program;
@@ -4,6 +4,7 @@
<ProjectReference Include="..\Tnsu.ApprovalRoute.Infrastructure\Tnsu.ApprovalRoute.Infrastructure.csproj" /> <ProjectReference Include="..\Tnsu.ApprovalRoute.Infrastructure\Tnsu.ApprovalRoute.Infrastructure.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Extensions.Hosting.AsyncInitialization" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
<PackageReference Include="Microsoft.AspNetCore.OpenApi" /> <PackageReference Include="Microsoft.AspNetCore.OpenApi" />
<PackageReference Include="MediatR" /> <PackageReference Include="MediatR" />
@@ -2,6 +2,7 @@ namespace Tnsu.ApprovalRoute.Domain.Enums;
public enum RouteStepStatus public enum RouteStepStatus
{ {
None,
Draft, Draft,
OnApproval, OnApproval,
Approved, Approved,
@@ -2,6 +2,7 @@ namespace Tnsu.ApprovalRoute.Domain.Enums;
public enum RouteType public enum RouteType
{ {
None,
Parallel, Parallel,
Sequential Sequential
} }
@@ -1,3 +1,4 @@
using Extensions.Hosting.AsyncInitialization;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
@@ -12,6 +13,7 @@ public static class InfrastructureServiceCollectionExtensions
{ {
services.AddDbContext<ApprovalRouteDbContext>(opt => services.AddDbContext<ApprovalRouteDbContext>(opt =>
opt.UseNpgsql(configuration.GetConnectionString("Postgres"))); opt.UseNpgsql(configuration.GetConnectionString("Postgres")));
services.AddAsyncInitializer<DatabaseMigrationInitializer>();
return services; 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" /> <ProjectReference Include="..\Tnsu.ApprovalRoute.Domain\Tnsu.ApprovalRoute.Domain.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Extensions.Hosting.AsyncInitialization" />
<PackageReference Include="Microsoft.EntityFrameworkCore" /> <PackageReference Include="Microsoft.EntityFrameworkCore" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" />