#pragma warning disable CS1591 #pragma warning disable SA1601 using System; using Microsoft.EntityFrameworkCore.Migrations; namespace Jellyfin.Server.Implementations.Migrations { public partial class AddDisplayPreferences : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "DisplayPreferences", schema: "jellyfin", columns: table => new { Id = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), UserId = table.Column(nullable: false), Client = table.Column(maxLength: 32, nullable: false), ShowSidebar = table.Column(nullable: false), ShowBackdrop = table.Column(nullable: false), ScrollDirection = table.Column(nullable: false), IndexBy = table.Column(nullable: true), SkipForwardLength = table.Column(nullable: false), SkipBackwardLength = table.Column(nullable: false), ChromecastVersion = table.Column(nullable: false), EnableNextVideoInfoOverlay = table.Column(nullable: false), DashboardTheme = table.Column(maxLength: 32, nullable: true), TvHome = table.Column(maxLength: 32, nullable: true) }, constraints: table => { table.PrimaryKey("PK_DisplayPreferences", x => x.Id); table.ForeignKey( name: "FK_DisplayPreferences_Users_UserId", column: x => x.UserId, principalSchema: "jellyfin", principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "ItemDisplayPreferences", schema: "jellyfin", columns: table => new { Id = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), UserId = table.Column(nullable: false), ItemId = table.Column(nullable: false), Client = table.Column(maxLength: 32, nullable: false), ViewType = table.Column(nullable: false), RememberIndexing = table.Column(nullable: false), IndexBy = table.Column(nullable: true), RememberSorting = table.Column(nullable: false), SortBy = table.Column(maxLength: 64, nullable: false), SortOrder = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_ItemDisplayPreferences", x => x.Id); table.ForeignKey( name: "FK_ItemDisplayPreferences_Users_UserId", column: x => x.UserId, principalSchema: "jellyfin", principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "HomeSection", schema: "jellyfin", columns: table => new { Id = table.Column(nullable: false) .Annotation("Sqlite:Autoincrement", true), DisplayPreferencesId = table.Column(nullable: false), Order = table.Column(nullable: false), Type = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_HomeSection", x => x.Id); table.ForeignKey( name: "FK_HomeSection_DisplayPreferences_DisplayPreferencesId", column: x => x.DisplayPreferencesId, principalSchema: "jellyfin", principalTable: "DisplayPreferences", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_DisplayPreferences_UserId", schema: "jellyfin", table: "DisplayPreferences", column: "UserId", unique: true); migrationBuilder.CreateIndex( name: "IX_HomeSection_DisplayPreferencesId", schema: "jellyfin", table: "HomeSection", column: "DisplayPreferencesId"); migrationBuilder.CreateIndex( name: "IX_ItemDisplayPreferences_UserId", schema: "jellyfin", table: "ItemDisplayPreferences", column: "UserId"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "HomeSection", schema: "jellyfin"); migrationBuilder.DropTable( name: "ItemDisplayPreferences", schema: "jellyfin"); migrationBuilder.DropTable( name: "DisplayPreferences", schema: "jellyfin"); } } }