Add 'Modified' tracking for Prospect entity

Introduce a 'Modified' field to track the last modification date of prospects. Automatically update this field on changes and integrate it in UI display for better transparency.
This commit is contained in:
Andre Beging
2025-03-31 08:21:23 +02:00
parent c2de397a0f
commit 5eb8b4b377
8 changed files with 280 additions and 6 deletions

View File

@@ -0,0 +1,40 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace FoodsharingSiegen.Server.Migrations
{
/// <inheritdoc />
public partial class ProposalModified : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "Modified",
table: "Prospects",
type: "TEXT",
nullable: true);
// Fill Modified column of existing rows
migrationBuilder.Sql(@"
UPDATE Prospects
SET Modified = COALESCE(
(SELECT MAX(Created)
FROM Interactions
WHERE Interactions.ProspectID = Prospects.Id),
Prospects.Created
);
");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Modified",
table: "Prospects");
}
}
}