mirror of
https://github.com/Kareadita/Kavita.git
synced 2025-05-31 20:24:27 -04:00
* Added a tooltip to inform user that format and collection filter selections do not only show for the selected library. * Refactored a lot of code around when we update chapter cover images. Applied an optimization for when we re-calculate volume/series covers, such that it only occurs when the first chapter's image updates. * Updated code to ensure only lastmodified gets refreshed in metadata since it always follows a scan * Optimized how metadata is populated on the series. Instead of re-reading the comicInfos, instead I read the data from the underlying chapter entities. This reduces N additional reads AND enables the ability in the future to show/edit chapter level metadata. * Spelling mistake * Fixed a concurency issue by not selecting Genres from DB. Added a test for long paths. * Fixed a bug in filter where collection tag wasn't populating on load * Cleaned up the logic for changelog to better compare against the installed verison. For nightly users, show the last stable as installed. * Removed some demo code * SplitQuery to allow loading tags much faster for series metadata load.
109 lines
3.5 KiB
C#
109 lines
3.5 KiB
C#
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace API.Data.Migrations
|
|
{
|
|
public partial class ChapterMetadataOptimization : Migration
|
|
{
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropForeignKey(
|
|
name: "FK_Chapter_Genre_GenreId",
|
|
table: "Chapter");
|
|
|
|
migrationBuilder.DropIndex(
|
|
name: "IX_Chapter_GenreId",
|
|
table: "Chapter");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "GenreId",
|
|
table: "Chapter");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "FullscreenMode",
|
|
table: "AppUserPreferences");
|
|
|
|
migrationBuilder.AddColumn<string>(
|
|
name: "Language",
|
|
table: "Chapter",
|
|
type: "TEXT",
|
|
nullable: true);
|
|
|
|
migrationBuilder.AddColumn<string>(
|
|
name: "Summary",
|
|
table: "Chapter",
|
|
type: "TEXT",
|
|
nullable: true);
|
|
|
|
migrationBuilder.CreateTable(
|
|
name: "ChapterGenre",
|
|
columns: table => new
|
|
{
|
|
ChaptersId = table.Column<int>(type: "INTEGER", nullable: false),
|
|
GenresId = table.Column<int>(type: "INTEGER", nullable: false)
|
|
},
|
|
constraints: table =>
|
|
{
|
|
table.PrimaryKey("PK_ChapterGenre", x => new { x.ChaptersId, x.GenresId });
|
|
table.ForeignKey(
|
|
name: "FK_ChapterGenre_Chapter_ChaptersId",
|
|
column: x => x.ChaptersId,
|
|
principalTable: "Chapter",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
table.ForeignKey(
|
|
name: "FK_ChapterGenre_Genre_GenresId",
|
|
column: x => x.GenresId,
|
|
principalTable: "Genre",
|
|
principalColumn: "Id",
|
|
onDelete: ReferentialAction.Cascade);
|
|
});
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_ChapterGenre_GenresId",
|
|
table: "ChapterGenre",
|
|
column: "GenresId");
|
|
}
|
|
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropTable(
|
|
name: "ChapterGenre");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "Language",
|
|
table: "Chapter");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "Summary",
|
|
table: "Chapter");
|
|
|
|
migrationBuilder.AddColumn<int>(
|
|
name: "GenreId",
|
|
table: "Chapter",
|
|
type: "INTEGER",
|
|
nullable: true);
|
|
|
|
migrationBuilder.AddColumn<int>(
|
|
name: "FullscreenMode",
|
|
table: "AppUserPreferences",
|
|
type: "INTEGER",
|
|
nullable: false,
|
|
defaultValue: 0);
|
|
|
|
migrationBuilder.CreateIndex(
|
|
name: "IX_Chapter_GenreId",
|
|
table: "Chapter",
|
|
column: "GenreId");
|
|
|
|
migrationBuilder.AddForeignKey(
|
|
name: "FK_Chapter_Genre_GenreId",
|
|
table: "Chapter",
|
|
column: "GenreId",
|
|
principalTable: "Genre",
|
|
principalColumn: "Id");
|
|
}
|
|
}
|
|
}
|