|
|
@ -65,7 +65,6 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
NormalizationGain = table.Column<float>(type: "REAL", nullable: true),
|
|
|
|
NormalizationGain = table.Column<float>(type: "REAL", nullable: true),
|
|
|
|
IsVirtualItem = table.Column<bool>(type: "INTEGER", nullable: false),
|
|
|
|
IsVirtualItem = table.Column<bool>(type: "INTEGER", nullable: false),
|
|
|
|
SeriesName = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
SeriesName = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
UserDataKey = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
|
|
|
|
SeasonName = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
SeasonName = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
ExternalSeriesId = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
ExternalSeriesId = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
Tagline = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
Tagline = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
@ -107,6 +106,19 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
table.PrimaryKey("PK_ItemValues", x => x.ItemValueId);
|
|
|
|
table.PrimaryKey("PK_ItemValues", x => x.ItemValueId);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
|
|
|
name: "Peoples",
|
|
|
|
|
|
|
|
columns: table => new
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Id = table.Column<Guid>(type: "TEXT", nullable: false),
|
|
|
|
|
|
|
|
Name = table.Column<string>(type: "TEXT", nullable: false),
|
|
|
|
|
|
|
|
PersonType = table.Column<string>(type: "TEXT", nullable: true)
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
constraints: table =>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
table.PrimaryKey("PK_Peoples", x => x.Id);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
name: "AncestorIds",
|
|
|
|
name: "AncestorIds",
|
|
|
|
columns: table => new
|
|
|
|
columns: table => new
|
|
|
@ -323,33 +335,11 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
|
|
|
name: "Peoples",
|
|
|
|
|
|
|
|
columns: table => new
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ItemId = table.Column<Guid>(type: "TEXT", nullable: false),
|
|
|
|
|
|
|
|
Role = table.Column<string>(type: "TEXT", nullable: false),
|
|
|
|
|
|
|
|
ListOrder = table.Column<int>(type: "INTEGER", nullable: false),
|
|
|
|
|
|
|
|
Name = table.Column<string>(type: "TEXT", nullable: false),
|
|
|
|
|
|
|
|
PersonType = table.Column<string>(type: "TEXT", nullable: true),
|
|
|
|
|
|
|
|
SortOrder = table.Column<int>(type: "INTEGER", nullable: true)
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
constraints: table =>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
table.PrimaryKey("PK_Peoples", x => new { x.ItemId, x.Role, x.ListOrder });
|
|
|
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
|
|
|
name: "FK_Peoples_BaseItems_ItemId",
|
|
|
|
|
|
|
|
column: x => x.ItemId,
|
|
|
|
|
|
|
|
principalTable: "BaseItems",
|
|
|
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
name: "UserData",
|
|
|
|
name: "UserData",
|
|
|
|
columns: table => new
|
|
|
|
columns: table => new
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Key = table.Column<string>(type: "TEXT", nullable: false),
|
|
|
|
ItemId = table.Column<Guid>(type: "TEXT", nullable: false),
|
|
|
|
UserId = table.Column<Guid>(type: "TEXT", nullable: false),
|
|
|
|
UserId = table.Column<Guid>(type: "TEXT", nullable: false),
|
|
|
|
Rating = table.Column<double>(type: "REAL", nullable: true),
|
|
|
|
Rating = table.Column<double>(type: "REAL", nullable: true),
|
|
|
|
PlaybackPositionTicks = table.Column<long>(type: "INTEGER", nullable: false),
|
|
|
|
PlaybackPositionTicks = table.Column<long>(type: "INTEGER", nullable: false),
|
|
|
@ -359,17 +349,17 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
Played = table.Column<bool>(type: "INTEGER", nullable: false),
|
|
|
|
Played = table.Column<bool>(type: "INTEGER", nullable: false),
|
|
|
|
AudioStreamIndex = table.Column<int>(type: "INTEGER", nullable: true),
|
|
|
|
AudioStreamIndex = table.Column<int>(type: "INTEGER", nullable: true),
|
|
|
|
SubtitleStreamIndex = table.Column<int>(type: "INTEGER", nullable: true),
|
|
|
|
SubtitleStreamIndex = table.Column<int>(type: "INTEGER", nullable: true),
|
|
|
|
Likes = table.Column<bool>(type: "INTEGER", nullable: true),
|
|
|
|
Likes = table.Column<bool>(type: "INTEGER", nullable: true)
|
|
|
|
BaseItemEntityId = table.Column<Guid>(type: "TEXT", nullable: true)
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
constraints: table =>
|
|
|
|
constraints: table =>
|
|
|
|
{
|
|
|
|
{
|
|
|
|
table.PrimaryKey("PK_UserData", x => new { x.Key, x.UserId });
|
|
|
|
table.PrimaryKey("PK_UserData", x => new { x.ItemId, x.UserId });
|
|
|
|
table.ForeignKey(
|
|
|
|
table.ForeignKey(
|
|
|
|
name: "FK_UserData_BaseItems_BaseItemEntityId",
|
|
|
|
name: "FK_UserData_BaseItems_ItemId",
|
|
|
|
column: x => x.BaseItemEntityId,
|
|
|
|
column: x => x.ItemId,
|
|
|
|
principalTable: "BaseItems",
|
|
|
|
principalTable: "BaseItems",
|
|
|
|
principalColumn: "Id");
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
table.ForeignKey(
|
|
|
|
table.ForeignKey(
|
|
|
|
name: "FK_UserData_Users_UserId",
|
|
|
|
name: "FK_UserData_Users_UserId",
|
|
|
|
column: x => x.UserId,
|
|
|
|
column: x => x.UserId,
|
|
|
@ -402,6 +392,33 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
|
|
|
name: "PeopleBaseItemMap",
|
|
|
|
|
|
|
|
columns: table => new
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ItemId = table.Column<Guid>(type: "TEXT", nullable: false),
|
|
|
|
|
|
|
|
PeopleId = table.Column<Guid>(type: "TEXT", nullable: false),
|
|
|
|
|
|
|
|
SortOrder = table.Column<int>(type: "INTEGER", nullable: true),
|
|
|
|
|
|
|
|
ListOrder = table.Column<int>(type: "INTEGER", nullable: true),
|
|
|
|
|
|
|
|
Role = table.Column<string>(type: "TEXT", nullable: true)
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
constraints: table =>
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
table.PrimaryKey("PK_PeopleBaseItemMap", x => new { x.ItemId, x.PeopleId });
|
|
|
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
|
|
|
name: "FK_PeopleBaseItemMap_BaseItems_ItemId",
|
|
|
|
|
|
|
|
column: x => x.ItemId,
|
|
|
|
|
|
|
|
principalTable: "BaseItems",
|
|
|
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
|
|
|
name: "FK_PeopleBaseItemMap_Peoples_PeopleId",
|
|
|
|
|
|
|
|
column: x => x.PeopleId,
|
|
|
|
|
|
|
|
principalTable: "Peoples",
|
|
|
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_AncestorIds_BaseItemEntityId",
|
|
|
|
name: "IX_AncestorIds_BaseItemEntityId",
|
|
|
|
table: "AncestorIds",
|
|
|
|
table: "AncestorIds",
|
|
|
@ -492,11 +509,6 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
table: "BaseItems",
|
|
|
|
table: "BaseItems",
|
|
|
|
columns: new[] { "Type", "TopParentId", "StartDate" });
|
|
|
|
columns: new[] { "Type", "TopParentId", "StartDate" });
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
|
|
|
name: "IX_BaseItems_UserDataKey_Type",
|
|
|
|
|
|
|
|
table: "BaseItems",
|
|
|
|
|
|
|
|
columns: new[] { "UserDataKey", "Type" });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_BaseItemTrailerTypes_ItemId",
|
|
|
|
name: "IX_BaseItemTrailerTypes_ItemId",
|
|
|
|
table: "BaseItemTrailerTypes",
|
|
|
|
table: "BaseItemTrailerTypes",
|
|
|
@ -533,39 +545,44 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
column: "StreamType");
|
|
|
|
column: "StreamType");
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_Peoples_ItemId_ListOrder",
|
|
|
|
name: "IX_PeopleBaseItemMap_ItemId_ListOrder",
|
|
|
|
table: "Peoples",
|
|
|
|
table: "PeopleBaseItemMap",
|
|
|
|
columns: new[] { "ItemId", "ListOrder" });
|
|
|
|
columns: new[] { "ItemId", "ListOrder" });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
|
|
|
name: "IX_PeopleBaseItemMap_ItemId_SortOrder",
|
|
|
|
|
|
|
|
table: "PeopleBaseItemMap",
|
|
|
|
|
|
|
|
columns: new[] { "ItemId", "SortOrder" });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
|
|
|
name: "IX_PeopleBaseItemMap_PeopleId",
|
|
|
|
|
|
|
|
table: "PeopleBaseItemMap",
|
|
|
|
|
|
|
|
column: "PeopleId");
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_Peoples_Name",
|
|
|
|
name: "IX_Peoples_Name",
|
|
|
|
table: "Peoples",
|
|
|
|
table: "Peoples",
|
|
|
|
column: "Name");
|
|
|
|
column: "Name");
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_UserData_BaseItemEntityId",
|
|
|
|
name: "IX_UserData_ItemId_UserId_IsFavorite",
|
|
|
|
table: "UserData",
|
|
|
|
table: "UserData",
|
|
|
|
column: "BaseItemEntityId");
|
|
|
|
columns: new[] { "ItemId", "UserId", "IsFavorite" });
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
|
|
|
name: "IX_UserData_Key_UserId_IsFavorite",
|
|
|
|
|
|
|
|
table: "UserData",
|
|
|
|
|
|
|
|
columns: new[] { "Key", "UserId", "IsFavorite" });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_UserData_Key_UserId_LastPlayedDate",
|
|
|
|
name: "IX_UserData_ItemId_UserId_LastPlayedDate",
|
|
|
|
table: "UserData",
|
|
|
|
table: "UserData",
|
|
|
|
columns: new[] { "Key", "UserId", "LastPlayedDate" });
|
|
|
|
columns: new[] { "ItemId", "UserId", "LastPlayedDate" });
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_UserData_Key_UserId_PlaybackPositionTicks",
|
|
|
|
name: "IX_UserData_ItemId_UserId_PlaybackPositionTicks",
|
|
|
|
table: "UserData",
|
|
|
|
table: "UserData",
|
|
|
|
columns: new[] { "Key", "UserId", "PlaybackPositionTicks" });
|
|
|
|
columns: new[] { "ItemId", "UserId", "PlaybackPositionTicks" });
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_UserData_Key_UserId_Played",
|
|
|
|
name: "IX_UserData_ItemId_UserId_Played",
|
|
|
|
table: "UserData",
|
|
|
|
table: "UserData",
|
|
|
|
columns: new[] { "Key", "UserId", "Played" });
|
|
|
|
columns: new[] { "ItemId", "UserId", "Played" });
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
name: "IX_UserData_UserId",
|
|
|
|
name: "IX_UserData_UserId",
|
|
|
@ -604,7 +621,7 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
name: "MediaStreamInfos");
|
|
|
|
name: "MediaStreamInfos");
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
name: "Peoples");
|
|
|
|
name: "PeopleBaseItemMap");
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
name: "UserData");
|
|
|
|
name: "UserData");
|
|
|
@ -612,6 +629,9 @@ namespace Jellyfin.Server.Implementations.Migrations
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
name: "ItemValues");
|
|
|
|
name: "ItemValues");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
|
|
|
name: "Peoples");
|
|
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
name: "BaseItems");
|
|
|
|
name: "BaseItems");
|
|
|
|
}
|
|
|
|
}
|