diff --git a/services/Directory/AddMigration.md b/services/Directory/AddMigration.md
new file mode 100644
index 000000000..aa3f7604f
--- /dev/null
+++ b/services/Directory/AddMigration.md
@@ -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
\ No newline at end of file
diff --git a/services/Directory/FilterLists.Directory.Infrastructure.MigrationService/FilterLists.Directory.Infrastructure.MigrationService.csproj b/services/Directory/FilterLists.Directory.Infrastructure.MigrationService/FilterLists.Directory.Infrastructure.MigrationService.csproj
index 157f21d17..ae1ecde73 100644
--- a/services/Directory/FilterLists.Directory.Infrastructure.MigrationService/FilterLists.Directory.Infrastructure.MigrationService.csproj
+++ b/services/Directory/FilterLists.Directory.Infrastructure.MigrationService/FilterLists.Directory.Infrastructure.MigrationService.csproj
@@ -7,6 +7,16 @@
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
diff --git a/services/Directory/FilterLists.Directory.Infrastructure.MigrationService/Program.cs b/services/Directory/FilterLists.Directory.Infrastructure.MigrationService/Program.cs
index d58815e48..23db377b2 100644
--- a/services/Directory/FilterLists.Directory.Infrastructure.MigrationService/Program.cs
+++ b/services/Directory/FilterLists.Directory.Infrastructure.MigrationService/Program.cs
@@ -1,6 +1,8 @@
+using FilterLists.Directory.Infrastructure;
using FilterLists.Directory.Infrastructure.MigrationService;
var builder = Host.CreateApplicationBuilder(args);
+builder.AddInfrastructureForDbMaintenance();
builder.Services.AddHostedService();
var host = builder.Build();
diff --git a/services/Directory/FilterLists.Directory.Infrastructure.Migrations/FilterLists.Directory.Infrastructure.Migrations.csproj b/services/Directory/FilterLists.Directory.Infrastructure.Migrations/FilterLists.Directory.Infrastructure.Migrations.csproj
index 3a6353295..9239b682c 100644
--- a/services/Directory/FilterLists.Directory.Infrastructure.Migrations/FilterLists.Directory.Infrastructure.Migrations.csproj
+++ b/services/Directory/FilterLists.Directory.Infrastructure.Migrations/FilterLists.Directory.Infrastructure.Migrations.csproj
@@ -6,4 +6,8 @@
enable
+
+
+
+
diff --git a/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs b/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs
new file mode 100644
index 000000000..d89406738
--- /dev/null
+++ b/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs
@@ -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("directorydb",
+ settings => { },
+ o => o.UseSqlServer(so => so.MigrationsAssembly("FilterLists.Directory.Infrastructure.Migrations"))
+ );
+ }
+}
\ No newline at end of file
diff --git a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/SeedExtensions.cs b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/SeedExtensions.cs
index a996d514e..3d1c08a25 100644
--- a/services/Directory/FilterLists.Directory.Infrastructure/Persistence/SeedExtensions.cs
+++ b/services/Directory/FilterLists.Directory.Infrastructure/Persistence/SeedExtensions.cs
@@ -42,7 +42,7 @@ public static void HasDataJsonFile(this OwnedNavigationBuilder ownedNav
private static List Deserialize()
{
// uncomment to short-circuit HasData() when adding a migration
- //return new List();
+ return new List();
var path = Path.Combine("../data", $"{typeof(TEntity).Name}.json");
if (!File.Exists(path)) return [];