From 253e6f05e0c60dcb6239d4de59a0ba10c6e57b72 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Thu, 23 Apr 2026 17:45:31 +0200 Subject: [PATCH] feat(data): configure planning columns and self-ref FK with Restrict --- .../Configuration/TaskEntityConfiguration.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/ClaudeDo.Data/Configuration/TaskEntityConfiguration.cs b/src/ClaudeDo.Data/Configuration/TaskEntityConfiguration.cs index bb8775b..26aa747 100644 --- a/src/ClaudeDo.Data/Configuration/TaskEntityConfiguration.cs +++ b/src/ClaudeDo.Data/Configuration/TaskEntityConfiguration.cs @@ -59,6 +59,16 @@ public class TaskEntityConfiguration : IEntityTypeConfiguration builder.Property(t => t.Notes).HasColumnName("notes"); builder.Property(t => t.SortOrder).HasColumnName("sort_order").IsRequired().HasDefaultValue(0); + builder.Property(t => t.ParentTaskId).HasColumnName("parent_task_id"); + builder.Property(t => t.PlanningSessionId).HasColumnName("planning_session_id"); + builder.Property(t => t.PlanningSessionToken).HasColumnName("planning_session_token"); + builder.Property(t => t.PlanningFinalizedAt).HasColumnName("planning_finalized_at"); + + builder.HasOne(t => t.Parent) + .WithMany(t => t.Children) + .HasForeignKey(t => t.ParentTaskId) + .OnDelete(DeleteBehavior.Restrict); + builder.HasOne(t => t.List) .WithMany(l => l.Tasks) .HasForeignKey(t => t.ListId) @@ -82,5 +92,6 @@ public class TaskEntityConfiguration : IEntityTypeConfiguration builder.HasIndex(t => t.ListId).HasDatabaseName("idx_tasks_list_id"); builder.HasIndex(t => t.Status).HasDatabaseName("idx_tasks_status"); builder.HasIndex(t => new { t.ListId, t.SortOrder }).HasDatabaseName("idx_tasks_list_sort"); + builder.HasIndex(t => t.ParentTaskId).HasDatabaseName("idx_tasks_parent_task_id"); } }