Database migration, repository, controller and service

This commit is contained in:
Nickk888 committed 2026-10-09 16:32:38 +02:00
1 parent 07e4e6b381
commit 4fb8768807
17 files changed
+368 -44

No files matched your search

+60
View File
@@ -0,0 +1,60 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using PaperlessAI.Context;
#nullable disable
namespace PaperlessAI.Migrations
{
[DbContext(typeof(MyDbContext))]
[Migration("20261009132858_Init")]
partial class Init
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.UseCollation("utf8mb4_uca1400_ai_ci")
.HasAnnotation("ProductVersion", "10.0.12")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
MySqlModelBuilderExtensions.HasCharSet(modelBuilder, "utf8mb4");
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
modelBuilder.Entity("PaperlessAI.Models.PaperlessDocument", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("Id"));
b.Property<DateTimeOffset>("CreatedAt")
.HasColumnType("datetime(6)");
b.Property<long>("DocumentId")
.HasColumnType("bigint");
b.Property<int>("DocumentState")
.HasColumnType("int");
b.Property<DateTimeOffset>("ModifiedAt")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.HasIndex("DocumentId")
.IsUnique();
b.ToTable("PaperlessDocuments");
});
#pragma warning restore 612, 618
}
}
}
+50
View File
@@ -0,0 +1,50 @@
using System;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PaperlessAI.Migrations
{
/// <inheritdoc />
public partial class Init : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterDatabase()
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "PaperlessDocuments",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
DocumentId = table.Column<long>(type: "bigint", nullable: false),
DocumentState = table.Column<int>(type: "int", nullable: false),
CreatedAt = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: false),
ModifiedAt = table.Column<DateTimeOffset>(type: "datetime(6)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_PaperlessDocuments", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4")
.Annotation("Relational:Collation", "utf8mb4_uca1400_ai_ci");
migrationBuilder.CreateIndex(
name: "IX_PaperlessDocuments_DocumentId",
table: "PaperlessDocuments",
column: "DocumentId",
unique: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "PaperlessDocuments");
}
}
}
+57
View File
@@ -0,0 +1,57 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using PaperlessAI.Context;
#nullable disable
namespace PaperlessAI.Migrations
{
[DbContext(typeof(MyDbContext))]
partial class MyDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.UseCollation("utf8mb4_uca1400_ai_ci")
.HasAnnotation("ProductVersion", "10.0.12")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
MySqlModelBuilderExtensions.HasCharSet(modelBuilder, "utf8mb4");
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
modelBuilder.Entity("PaperlessAI.Models.PaperlessDocument", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property<long>("Id"));
b.Property<DateTimeOffset>("CreatedAt")
.HasColumnType("datetime(6)");
b.Property<long>("DocumentId")
.HasColumnType("bigint");
b.Property<int>("DocumentState")
.HasColumnType("int");
b.Property<DateTimeOffset>("ModifiedAt")
.HasColumnType("datetime(6)");
b.HasKey("Id");
b.HasIndex("DocumentId")
.IsUnique();
b.ToTable("PaperlessDocuments");
});
#pragma warning restore 612, 618
}
}
}