mirror of
				https://github.com/Kareadita/Kavita.git
				synced 2025-10-31 02:27:04 -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");
 | |
|         }
 | |
|     }
 | |
| }
 |