| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 | #pragma warning disable CS1591, SA1601using System;using Microsoft.EntityFrameworkCore.Migrations;namespace Jellyfin.Server.Implementations.Migrations{    public partial class AddDevices : Migration    {        protected override void Up(MigrationBuilder migrationBuilder)        {            migrationBuilder.CreateTable(                name: "ApiKeys",                schema: "jellyfin",                columns: table => new                {                    Id = table.Column<int>(type: "INTEGER", nullable: false)                        .Annotation("Sqlite:Autoincrement", true),                    DateCreated = table.Column<DateTime>(type: "TEXT", nullable: false),                    DateLastActivity = table.Column<DateTime>(type: "TEXT", nullable: false),                    Name = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false),                    AccessToken = table.Column<string>(type: "TEXT", nullable: false)                },                constraints: table =>                {                    table.PrimaryKey("PK_ApiKeys", x => x.Id);                });            migrationBuilder.CreateTable(                name: "DeviceOptions",                schema: "jellyfin",                columns: table => new                {                    Id = table.Column<int>(type: "INTEGER", nullable: false)                        .Annotation("Sqlite:Autoincrement", true),                    DeviceId = table.Column<string>(type: "TEXT", nullable: false),                    CustomName = table.Column<string>(type: "TEXT", nullable: true)                },                constraints: table =>                {                    table.PrimaryKey("PK_DeviceOptions", x => x.Id);                });            migrationBuilder.CreateTable(                name: "Devices",                schema: "jellyfin",                columns: table => new                {                    Id = table.Column<int>(type: "INTEGER", nullable: false)                        .Annotation("Sqlite:Autoincrement", true),                    UserId = table.Column<Guid>(type: "TEXT", nullable: false),                    AccessToken = table.Column<string>(type: "TEXT", nullable: false),                    AppName = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false),                    AppVersion = table.Column<string>(type: "TEXT", maxLength: 32, nullable: false),                    DeviceName = table.Column<string>(type: "TEXT", maxLength: 64, nullable: false),                    DeviceId = table.Column<string>(type: "TEXT", maxLength: 256, nullable: false),                    IsActive = table.Column<bool>(type: "INTEGER", nullable: false),                    DateCreated = table.Column<DateTime>(type: "TEXT", nullable: false),                    DateModified = table.Column<DateTime>(type: "TEXT", nullable: false),                    DateLastActivity = table.Column<DateTime>(type: "TEXT", nullable: false)                },                constraints: table =>                {                    table.PrimaryKey("PK_Devices", x => x.Id);                    table.ForeignKey(                        name: "FK_Devices_Users_UserId",                        column: x => x.UserId,                        principalSchema: "jellyfin",                        principalTable: "Users",                        principalColumn: "Id",                        onDelete: ReferentialAction.Cascade);                });            migrationBuilder.CreateIndex(                name: "IX_ApiKeys_AccessToken",                schema: "jellyfin",                table: "ApiKeys",                column: "AccessToken",                unique: true);            migrationBuilder.CreateIndex(                name: "IX_DeviceOptions_DeviceId",                schema: "jellyfin",                table: "DeviceOptions",                column: "DeviceId",                unique: true);            migrationBuilder.CreateIndex(                name: "IX_Devices_AccessToken_DateLastActivity",                schema: "jellyfin",                table: "Devices",                columns: new[] { "AccessToken", "DateLastActivity" });            migrationBuilder.CreateIndex(                name: "IX_Devices_DeviceId",                schema: "jellyfin",                table: "Devices",                column: "DeviceId");            migrationBuilder.CreateIndex(                name: "IX_Devices_DeviceId_DateLastActivity",                schema: "jellyfin",                table: "Devices",                columns: new[] { "DeviceId", "DateLastActivity" });            migrationBuilder.CreateIndex(                name: "IX_Devices_UserId_DeviceId",                schema: "jellyfin",                table: "Devices",                columns: new[] { "UserId", "DeviceId" });        }        protected override void Down(MigrationBuilder migrationBuilder)        {            migrationBuilder.DropTable(                name: "ApiKeys",                schema: "jellyfin");            migrationBuilder.DropTable(                name: "DeviceOptions",                schema: "jellyfin");            migrationBuilder.DropTable(                name: "Devices",                schema: "jellyfin");        }    }}
 |