f808734768
This PR finalizes the implementation of issue #35 by establishing a formal foreign key relationship between `KnowledgeUnit` and `Ebook`. Closes #35 ### Changes: - **Domain**: Refactored `KnowledgeUnit` to use `Guid EbookId` and added navigation property. - **Data**: Updated `AppDbContext` fluent configuration and generated a new migration. - **Service**: Updated `IKnowledgeService` and its implementations to propagate `ebookId`. - **API**: Updated Web API endpoints to support linking extracted knowledge to specific ebooks. ### Verification: - [x] Solution builds successfully (`dotnet build`). - [x] Schema changes verified in migration file. - [x] Cascading delete behavior confirmed. --------- Co-authored-by: Marek Jasiński <jasins.marek@gmail.com> Reviewed-on: #43 Co-authored-by: Antigravity <antigravity@google.com> Co-committed-by: Antigravity <antigravity@google.com>
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using System;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace NexusReader.Data.Persistence.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class MakeKnowledgeUnitEbookIdNullable : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AlterColumn<Guid>(
|
|
name: "EbookId",
|
|
table: "KnowledgeUnits",
|
|
type: "uuid",
|
|
nullable: true,
|
|
oldClrType: typeof(Guid),
|
|
oldType: "uuid");
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AlterColumn<Guid>(
|
|
name: "EbookId",
|
|
table: "KnowledgeUnits",
|
|
type: "uuid",
|
|
nullable: false,
|
|
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
|
oldClrType: typeof(Guid),
|
|
oldType: "uuid",
|
|
oldNullable: true);
|
|
}
|
|
}
|
|
}
|