| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 | #pragma warning disable CS1591#pragma warning disable SA1601using System;using Microsoft.EntityFrameworkCore.Migrations;namespace Jellyfin.Server.Implementations.Migrations{    public partial class AddIndexesAndCollations : Migration    {        protected override void Up(MigrationBuilder migrationBuilder)        {            migrationBuilder.DropForeignKey(                name: "FK_ImageInfos_Users_UserId",                schema: "jellyfin",                table: "ImageInfos");            migrationBuilder.DropForeignKey(                name: "FK_Permissions_Users_Permission_Permissions_Guid",                schema: "jellyfin",                table: "Permissions");            migrationBuilder.DropForeignKey(                name: "FK_Preferences_Users_Preference_Preferences_Guid",                schema: "jellyfin",                table: "Preferences");            migrationBuilder.DropIndex(                name: "IX_Preferences_Preference_Preferences_Guid",                schema: "jellyfin",                table: "Preferences");            migrationBuilder.DropIndex(                name: "IX_Permissions_Permission_Permissions_Guid",                schema: "jellyfin",                table: "Permissions");            migrationBuilder.DropIndex(                name: "IX_DisplayPreferences_UserId",                schema: "jellyfin",                table: "DisplayPreferences");            migrationBuilder.DropIndex(                name: "IX_CustomItemDisplayPreferences_UserId",                schema: "jellyfin",                table: "CustomItemDisplayPreferences");            migrationBuilder.AlterColumn<string>(                name: "Username",                schema: "jellyfin",                table: "Users",                type: "TEXT",                maxLength: 255,                nullable: false,                collation: "NOCASE",                oldClrType: typeof(string),                oldType: "TEXT",                oldMaxLength: 255);            migrationBuilder.AddColumn<Guid>(                name: "UserId",                schema: "jellyfin",                table: "Preferences",                type: "TEXT",                nullable: true);            migrationBuilder.AddColumn<Guid>(                name: "UserId",                schema: "jellyfin",                table: "Permissions",                type: "TEXT",                nullable: true);            migrationBuilder.Sql("UPDATE Preferences SET UserId = Preference_Preferences_Guid");            migrationBuilder.Sql("UPDATE Permissions SET UserId = Permission_Permissions_Guid");            migrationBuilder.CreateIndex(                name: "IX_Users_Username",                schema: "jellyfin",                table: "Users",                column: "Username",                unique: true);            migrationBuilder.CreateIndex(                name: "IX_Preferences_UserId_Kind",                schema: "jellyfin",                table: "Preferences",                columns: new[] { "UserId", "Kind" },                unique: true,                filter: "[UserId] IS NOT NULL");            migrationBuilder.CreateIndex(                name: "IX_Permissions_UserId_Kind",                schema: "jellyfin",                table: "Permissions",                columns: new[] { "UserId", "Kind" },                unique: true,                filter: "[UserId] IS NOT NULL");            migrationBuilder.AddForeignKey(                name: "FK_ImageInfos_Users_UserId",                schema: "jellyfin",                table: "ImageInfos",                column: "UserId",                principalSchema: "jellyfin",                principalTable: "Users",                principalColumn: "Id",                onDelete: ReferentialAction.Cascade);            migrationBuilder.AddForeignKey(                name: "FK_Permissions_Users_UserId",                schema: "jellyfin",                table: "Permissions",                column: "UserId",                principalSchema: "jellyfin",                principalTable: "Users",                principalColumn: "Id",                onDelete: ReferentialAction.Cascade);            migrationBuilder.AddForeignKey(                name: "FK_Preferences_Users_UserId",                schema: "jellyfin",                table: "Preferences",                column: "UserId",                principalSchema: "jellyfin",                principalTable: "Users",                principalColumn: "Id",                onDelete: ReferentialAction.Cascade);        }        protected override void Down(MigrationBuilder migrationBuilder)        {            migrationBuilder.DropForeignKey(                name: "FK_ImageInfos_Users_UserId",                schema: "jellyfin",                table: "ImageInfos");            migrationBuilder.DropForeignKey(                name: "FK_Permissions_Users_UserId",                schema: "jellyfin",                table: "Permissions");            migrationBuilder.DropForeignKey(                name: "FK_Preferences_Users_UserId",                schema: "jellyfin",                table: "Preferences");            migrationBuilder.DropIndex(                name: "IX_Users_Username",                schema: "jellyfin",                table: "Users");            migrationBuilder.DropIndex(                name: "IX_Preferences_UserId_Kind",                schema: "jellyfin",                table: "Preferences");            migrationBuilder.DropIndex(                name: "IX_Permissions_UserId_Kind",                schema: "jellyfin",                table: "Permissions");            migrationBuilder.DropColumn(                name: "UserId",                schema: "jellyfin",                table: "Preferences");            migrationBuilder.DropColumn(                name: "UserId",                schema: "jellyfin",                table: "Permissions");            migrationBuilder.AlterColumn<string>(                name: "Username",                schema: "jellyfin",                table: "Users",                type: "TEXT",                maxLength: 255,                nullable: false,                oldClrType: typeof(string),                oldType: "TEXT",                oldMaxLength: 255,                oldCollation: "NOCASE");            migrationBuilder.CreateIndex(                name: "IX_Preferences_Preference_Preferences_Guid",                schema: "jellyfin",                table: "Preferences",                column: "Preference_Preferences_Guid");            migrationBuilder.CreateIndex(                name: "IX_Permissions_Permission_Permissions_Guid",                schema: "jellyfin",                table: "Permissions",                column: "Permission_Permissions_Guid");            migrationBuilder.CreateIndex(                name: "IX_DisplayPreferences_UserId",                schema: "jellyfin",                table: "DisplayPreferences",                column: "UserId");            migrationBuilder.CreateIndex(                name: "IX_CustomItemDisplayPreferences_UserId",                schema: "jellyfin",                table: "CustomItemDisplayPreferences",                column: "UserId");            migrationBuilder.AddForeignKey(                name: "FK_ImageInfos_Users_UserId",                schema: "jellyfin",                table: "ImageInfos",                column: "UserId",                principalSchema: "jellyfin",                principalTable: "Users",                principalColumn: "Id",                onDelete: ReferentialAction.Restrict);            migrationBuilder.AddForeignKey(                name: "FK_Permissions_Users_Permission_Permissions_Guid",                schema: "jellyfin",                table: "Permissions",                column: "Permission_Permissions_Guid",                principalSchema: "jellyfin",                principalTable: "Users",                principalColumn: "Id",                onDelete: ReferentialAction.Restrict);            migrationBuilder.AddForeignKey(                name: "FK_Preferences_Users_Preference_Preferences_Guid",                schema: "jellyfin",                table: "Preferences",                column: "Preference_Preferences_Guid",                principalSchema: "jellyfin",                principalTable: "Users",                principalColumn: "Id",                onDelete: ReferentialAction.Restrict);        }    }}
 |