// using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using PageManager.Api.Data; #nullable disable namespace PageManager.Api.Migrations { [DbContext(typeof(AppDbContext))] [Migration("20260315185207_PendingMigration")] partial class PendingMigration { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("PageManager.Api.Data.Models.Author", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id") .HasName("pk_authors"); b.ToTable("authors", (string)null); }); modelBuilder.Entity("PageManager.Api.Data.Models.Book", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Color") .IsRequired() .HasColumnType("text") .HasColumnName("color"); b.Property("CoverUrl") .HasColumnType("text") .HasColumnName("cover_url"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.PrimitiveCollection("Formats") .IsRequired() .HasColumnType("text[]") .HasColumnName("formats"); b.PrimitiveCollection("Genres") .IsRequired() .HasColumnType("text[]") .HasColumnName("genres"); b.Property("HardcoverId") .HasColumnType("integer") .HasColumnName("hardcover_id"); b.Property("Isbn") .HasColumnType("text") .HasColumnName("isbn"); b.Property("Pages") .HasColumnType("integer") .HasColumnName("pages"); b.Property("Publisher") .HasColumnType("text") .HasColumnName("publisher"); b.Property("Title") .IsRequired() .HasColumnType("text") .HasColumnName("title"); b.Property("Year") .HasColumnType("integer") .HasColumnName("year"); b.HasKey("Id") .HasName("pk_books"); b.HasIndex("HardcoverId") .HasDatabaseName("ix_books_hardcover_id"); b.HasIndex("Isbn") .HasDatabaseName("ix_books_isbn"); b.ToTable("books", (string)null); }); modelBuilder.Entity("PageManager.Api.Data.Models.BookAuthor", b => { b.Property("BookId") .HasColumnType("integer") .HasColumnName("book_id"); b.Property("AuthorId") .HasColumnType("integer") .HasColumnName("author_id"); b.Property("Role") .IsRequired() .HasColumnType("text") .HasColumnName("role"); b.HasKey("BookId", "AuthorId") .HasName("pk_book_authors"); b.HasIndex("AuthorId") .HasDatabaseName("ix_book_authors_author_id"); b.ToTable("book_authors", (string)null); }); modelBuilder.Entity("PageManager.Api.Data.Models.ImportQueueItem", b => { b.Property("Id") .HasColumnType("text") .HasColumnName("id"); b.Property("DownloadedBytes") .HasColumnType("bigint") .HasColumnName("downloaded_bytes"); b.Property("Error") .HasColumnType("text") .HasColumnName("error"); b.Property("Filename") .IsRequired() .HasColumnType("text") .HasColumnName("filename"); b.Property("SizeBytes") .HasColumnType("bigint") .HasColumnName("size_bytes"); b.Property("Source") .IsRequired() .HasColumnType("text") .HasColumnName("source"); b.Property("Status") .IsRequired() .HasColumnType("text") .HasColumnName("status"); b.HasKey("Id") .HasName("pk_import_queue_items"); b.ToTable("import_queue_items", (string)null); }); modelBuilder.Entity("PageManager.Api.Data.Models.ImportSource", b => { b.Property("Id") .HasColumnType("text") .HasColumnName("id"); b.Property("Enabled") .HasColumnType("boolean") .HasColumnName("enabled"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("Path") .IsRequired() .HasColumnType("text") .HasColumnName("path"); b.Property("Type") .IsRequired() .HasColumnType("text") .HasColumnName("type"); b.HasKey("Id") .HasName("pk_import_sources"); b.ToTable("import_sources", (string)null); }); modelBuilder.Entity("PageManager.Api.Data.Models.Series", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("Type") .IsRequired() .HasColumnType("text") .HasColumnName("type"); b.HasKey("Id") .HasName("pk_series"); b.ToTable("series", (string)null); }); modelBuilder.Entity("PageManager.Api.Data.Models.SeriesEntry", b => { b.Property("SeriesId") .HasColumnType("integer") .HasColumnName("series_id"); b.Property("BookId") .HasColumnType("integer") .HasColumnName("book_id"); b.Property("Arc") .HasColumnType("text") .HasColumnName("arc"); b.Property("Position") .HasColumnType("double precision") .HasColumnName("position"); b.HasKey("SeriesId", "BookId") .HasName("pk_series_entries"); b.HasIndex("BookId") .HasDatabaseName("ix_series_entries_book_id"); b.ToTable("series_entries", (string)null); }); modelBuilder.Entity("PageManager.Api.Data.Models.BookAuthor", b => { b.HasOne("PageManager.Api.Data.Models.Author", "Author") .WithMany("BookAuthors") .HasForeignKey("AuthorId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_book_authors_authors_author_id"); b.HasOne("PageManager.Api.Data.Models.Book", "Book") .WithMany("BookAuthors") .HasForeignKey("BookId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_book_authors_books_book_id"); b.Navigation("Author"); b.Navigation("Book"); }); modelBuilder.Entity("PageManager.Api.Data.Models.SeriesEntry", b => { b.HasOne("PageManager.Api.Data.Models.Book", "Book") .WithMany("SeriesEntries") .HasForeignKey("BookId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_series_entries_books_book_id"); b.HasOne("PageManager.Api.Data.Models.Series", "Series") .WithMany("Entries") .HasForeignKey("SeriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_series_entries_series_series_id"); b.Navigation("Book"); b.Navigation("Series"); }); modelBuilder.Entity("PageManager.Api.Data.Models.Author", b => { b.Navigation("BookAuthors"); }); modelBuilder.Entity("PageManager.Api.Data.Models.Book", b => { b.Navigation("BookAuthors"); b.Navigation("SeriesEntries"); }); modelBuilder.Entity("PageManager.Api.Data.Models.Series", b => { b.Navigation("Entries"); }); #pragma warning restore 612, 618 } } }