feat(dir): prep MigrationService for add migration

This commit is contained in:
Collin Barrett 2024-05-30 21:05:55 -05:00
parent 9bee48aa30
commit 93768e4571
6 changed files with 34 additions and 1 deletions

View file

@ -0,0 +1 @@
dotnet ef migrations add InitialCreate --project FilterLists.Directory.Infrastructure.Migrations/FilterLists.Directory.Infrastructure.Migrations.csproj --startup-project FilterLists.Directory.Infrastructure.MigrationService/FilterLists.Directory.Infrastructure.MigrationService.csproj

View file

@ -7,6 +7,16 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.6">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\FilterLists.ServiceDefaults\FilterLists.ServiceDefaults.csproj"/>
<ProjectReference Include="..\FilterLists.Directory.Infrastructure.Migrations\FilterLists.Directory.Infrastructure.Migrations.csproj"/>
<ProjectReference Include="..\FilterLists.Directory.Infrastructure\FilterLists.Directory.Infrastructure.csproj"/>
</ItemGroup>
</Project>

View file

@ -1,6 +1,8 @@
using FilterLists.Directory.Infrastructure;
using FilterLists.Directory.Infrastructure.MigrationService;
var builder = Host.CreateApplicationBuilder(args);
builder.AddInfrastructureForDbMaintenance();
builder.Services.AddHostedService<Worker>();
var host = builder.Build();

View file

@ -6,4 +6,8 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\FilterLists.Directory.Infrastructure\FilterLists.Directory.Infrastructure.csproj"/>
</ItemGroup>
</Project>

View file

@ -0,0 +1,16 @@
using FilterLists.Directory.Infrastructure.Persistence.Queries.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Hosting;
namespace FilterLists.Directory.Infrastructure;
public static class ConfigurationExtensions
{
public static void AddInfrastructureForDbMaintenance(this IHostApplicationBuilder builder)
{
builder.AddSqlServerDbContext<QueryDbContext>("directorydb",
settings => { },
o => o.UseSqlServer(so => so.MigrationsAssembly("FilterLists.Directory.Infrastructure.Migrations"))
);
}
}

View file

@ -42,7 +42,7 @@ public static void HasDataJsonFile<TEntity>(this OwnedNavigationBuilder ownedNav
private static List<TEntity> Deserialize<TEntity>()
{
// uncomment to short-circuit HasData() when adding a migration
//return new List<TEntity>();
return new List<TEntity>();
var path = Path.Combine("../data", $"{typeof(TEntity).Name}.json");
if (!File.Exists(path)) return [];