< Summary - Jellyfin

Information
Class: Jellyfin.Server.Implementations.Migrations.JellyfinDbModelSnapshot
Assembly: Jellyfin.Database.Providers.Sqlite
File(s): /srv/git/jellyfin/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs
Line coverage
100%
Covered lines: 1729
Uncovered lines: 0
Coverable lines: 1729
Total lines: 1807
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 2/14/2026 - 12:11:17 AM Line coverage: 100% (1642/1642) Total lines: 17185/4/2026 - 12:15:16 AM Line coverage: 100% (1712/1712) Total lines: 17905/5/2026 - 12:15:44 AM Line coverage: 100% (1715/1715) Total lines: 17935/8/2026 - 12:15:13 AM Line coverage: 100% (1721/1721) Total lines: 17995/27/2026 - 12:15:38 AM Line coverage: 100% (1729/1729) Total lines: 1807

Coverage delta

Coverage delta 1 -1

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
BuildModel(...)100%11100%

File(s)

/srv/git/jellyfin/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using Jellyfin.Database.Implementations;
 4using Microsoft.EntityFrameworkCore;
 5using Microsoft.EntityFrameworkCore.Infrastructure;
 6using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 7
 8#nullable disable
 9
 10namespace Jellyfin.Server.Implementations.Migrations
 11{
 12    [DbContext(typeof(JellyfinDbContext))]
 13    partial class JellyfinDbModelSnapshot : ModelSnapshot
 14    {
 15        protected override void BuildModel(ModelBuilder modelBuilder)
 16        {
 17#pragma warning disable 612, 618
 118            modelBuilder.HasAnnotation("ProductVersion", "10.0.12");
 19
 120            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AccessSchedule", b =>
 121                {
 122                    b.Property<int>("Id")
 123                        .ValueGeneratedOnAdd()
 124                        .HasColumnType("INTEGER");
 125
 126                    b.Property<int>("DayOfWeek")
 127                        .HasColumnType("INTEGER");
 128
 129                    b.Property<double>("EndHour")
 130                        .HasColumnType("REAL");
 131
 132                    b.Property<double>("StartHour")
 133                        .HasColumnType("REAL");
 134
 135                    b.Property<Guid>("UserId")
 136                        .HasColumnType("TEXT");
 137
 138                    b.HasKey("Id");
 139
 140                    b.HasIndex("UserId");
 141
 142                    b.ToTable("AccessSchedules");
 143
 144                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 145                });
 46
 147            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ActivityLog", b =>
 148                {
 149                    b.Property<int>("Id")
 150                        .ValueGeneratedOnAdd()
 151                        .HasColumnType("INTEGER");
 152
 153                    b.Property<DateTime>("DateCreated")
 154                        .HasColumnType("TEXT");
 155
 156                    b.Property<string>("ItemId")
 157                        .HasMaxLength(256)
 158                        .HasColumnType("TEXT");
 159
 160                    b.Property<int>("LogSeverity")
 161                        .HasColumnType("INTEGER");
 162
 163                    b.Property<string>("Name")
 164                        .IsRequired()
 165                        .HasMaxLength(512)
 166                        .HasColumnType("TEXT");
 167
 168                    b.Property<string>("Overview")
 169                        .HasMaxLength(512)
 170                        .HasColumnType("TEXT");
 171
 172                    b.Property<uint>("RowVersion")
 173                        .IsConcurrencyToken()
 174                        .HasColumnType("INTEGER");
 175
 176                    b.Property<string>("ShortOverview")
 177                        .HasMaxLength(512)
 178                        .HasColumnType("TEXT");
 179
 180                    b.Property<string>("Type")
 181                        .IsRequired()
 182                        .HasMaxLength(256)
 183                        .HasColumnType("TEXT");
 184
 185                    b.Property<Guid>("UserId")
 186                        .HasColumnType("TEXT");
 187
 188                    b.HasKey("Id");
 189
 190                    b.HasIndex("DateCreated");
 191
 192                    b.ToTable("ActivityLogs");
 193
 194                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 195                });
 96
 197            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AncestorId", b =>
 198                {
 199                    b.Property<Guid>("ItemId")
 1100                        .HasColumnType("TEXT");
 1101
 1102                    b.Property<Guid>("ParentItemId")
 1103                        .HasColumnType("TEXT");
 1104
 1105                    b.HasKey("ItemId", "ParentItemId");
 1106
 1107                    b.HasIndex("ParentItemId");
 1108
 1109                    b.ToTable("AncestorIds");
 1110
 1111                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1112                });
 113
 1114            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AttachmentStreamInfo", b =>
 1115                {
 1116                    b.Property<Guid>("ItemId")
 1117                        .HasColumnType("TEXT");
 1118
 1119                    b.Property<int>("Index")
 1120                        .HasColumnType("INTEGER");
 1121
 1122                    b.Property<string>("Codec")
 1123                        .HasColumnType("TEXT");
 1124
 1125                    b.Property<string>("CodecTag")
 1126                        .HasColumnType("TEXT");
 1127
 1128                    b.Property<string>("Comment")
 1129                        .HasColumnType("TEXT");
 1130
 1131                    b.Property<string>("Filename")
 1132                        .HasColumnType("TEXT");
 1133
 1134                    b.Property<string>("MimeType")
 1135                        .HasColumnType("TEXT");
 1136
 1137                    b.HasKey("ItemId", "Index");
 1138
 1139                    b.ToTable("AttachmentStreamInfos");
 1140
 1141                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1142                });
 143
 1144            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemEntity", b =>
 1145                {
 1146                    b.Property<Guid>("Id")
 1147                        .ValueGeneratedOnAdd()
 1148                        .HasColumnType("TEXT");
 1149
 1150                    b.Property<string>("Album")
 1151                        .HasColumnType("TEXT");
 1152
 1153                    b.Property<string>("AlbumArtists")
 1154                        .HasColumnType("TEXT");
 1155
 1156                    b.Property<string>("Artists")
 1157                        .HasColumnType("TEXT");
 1158
 1159                    b.Property<int?>("Audio")
 1160                        .HasColumnType("INTEGER");
 1161
 1162                    b.Property<Guid?>("ChannelId")
 1163                        .HasColumnType("TEXT");
 1164
 1165                    b.Property<string>("CleanName")
 1166                        .HasColumnType("TEXT");
 1167
 1168                    b.Property<float?>("CommunityRating")
 1169                        .HasColumnType("REAL");
 1170
 1171                    b.Property<float?>("CriticRating")
 1172                        .HasColumnType("REAL");
 1173
 1174                    b.Property<string>("CustomRating")
 1175                        .HasColumnType("TEXT");
 1176
 1177                    b.Property<string>("Data")
 1178                        .HasColumnType("TEXT");
 1179
 1180                    b.Property<DateTime?>("DateCreated")
 1181                        .HasColumnType("TEXT");
 1182
 1183                    b.Property<DateTime?>("DateLastMediaAdded")
 1184                        .HasColumnType("TEXT");
 1185
 1186                    b.Property<DateTime?>("DateLastRefreshed")
 1187                        .HasColumnType("TEXT");
 1188
 1189                    b.Property<DateTime?>("DateLastSaved")
 1190                        .HasColumnType("TEXT");
 1191
 1192                    b.Property<DateTime?>("DateModified")
 1193                        .HasColumnType("TEXT");
 1194
 1195                    b.Property<DateTime?>("EndDate")
 1196                        .HasColumnType("TEXT");
 1197
 1198                    b.Property<string>("EpisodeTitle")
 1199                        .HasColumnType("TEXT");
 1200
 1201                    b.Property<string>("ExternalId")
 1202                        .HasColumnType("TEXT");
 1203
 1204                    b.Property<string>("ExternalSeriesId")
 1205                        .HasColumnType("TEXT");
 1206
 1207                    b.Property<string>("ExternalServiceId")
 1208                        .HasColumnType("TEXT");
 1209
 1210                    b.Property<int?>("ExtraType")
 1211                        .HasColumnType("INTEGER");
 1212
 1213                    b.Property<string>("ForcedSortName")
 1214                        .HasColumnType("TEXT");
 1215
 1216                    b.Property<string>("Genres")
 1217                        .HasColumnType("TEXT");
 1218
 1219                    b.Property<int?>("Height")
 1220                        .HasColumnType("INTEGER");
 1221
 1222                    b.Property<int?>("IndexNumber")
 1223                        .HasColumnType("INTEGER");
 1224
 1225                    b.Property<int?>("InheritedParentalRatingSubValue")
 1226                        .HasColumnType("INTEGER");
 1227
 1228                    b.Property<int?>("InheritedParentalRatingValue")
 1229                        .HasColumnType("INTEGER");
 1230
 1231                    b.Property<bool>("IsFolder")
 1232                        .HasColumnType("INTEGER");
 1233
 1234                    b.Property<bool>("IsInMixedFolder")
 1235                        .HasColumnType("INTEGER");
 1236
 1237                    b.Property<bool>("IsLocked")
 1238                        .HasColumnType("INTEGER");
 1239
 1240                    b.Property<bool>("IsMovie")
 1241                        .HasColumnType("INTEGER");
 1242
 1243                    b.Property<bool>("IsRepeat")
 1244                        .HasColumnType("INTEGER");
 1245
 1246                    b.Property<bool>("IsSeries")
 1247                        .HasColumnType("INTEGER");
 1248
 1249                    b.Property<bool>("IsVirtualItem")
 1250                        .HasColumnType("INTEGER");
 1251
 1252                    b.Property<float?>("LUFS")
 1253                        .HasColumnType("REAL");
 1254
 1255                    b.Property<string>("MediaType")
 1256                        .HasColumnType("TEXT");
 1257
 1258                    b.Property<string>("Name")
 1259                        .HasColumnType("TEXT");
 1260
 1261                    b.Property<float?>("NormalizationGain")
 1262                        .HasColumnType("REAL");
 1263
 1264                    b.Property<string>("OfficialRating")
 1265                        .HasColumnType("TEXT");
 1266
 1267                    b.Property<string>("OriginalLanguage")
 1268                        .HasColumnType("TEXT");
 1269
 1270                    b.Property<string>("OriginalTitle")
 1271                        .HasColumnType("TEXT");
 1272
 1273                    b.Property<string>("Overview")
 1274                        .HasColumnType("TEXT");
 1275
 1276                    b.Property<Guid?>("OwnerId")
 1277                        .HasColumnType("TEXT");
 1278
 1279                    b.Property<Guid?>("ParentId")
 1280                        .HasColumnType("TEXT");
 1281
 1282                    b.Property<int?>("ParentIndexNumber")
 1283                        .HasColumnType("INTEGER");
 1284
 1285                    b.Property<string>("Path")
 1286                        .HasColumnType("TEXT");
 1287
 1288                    b.Property<string>("PreferredMetadataCountryCode")
 1289                        .HasColumnType("TEXT");
 1290
 1291                    b.Property<string>("PreferredMetadataLanguage")
 1292                        .HasColumnType("TEXT");
 1293
 1294                    b.Property<DateTime?>("PremiereDate")
 1295                        .HasColumnType("TEXT");
 1296
 1297                    b.Property<string>("PresentationUniqueKey")
 1298                        .HasColumnType("TEXT");
 1299
 1300                    b.Property<Guid?>("PrimaryVersionId")
 1301                        .HasColumnType("TEXT");
 1302
 1303                    b.Property<string>("ProductionLocations")
 1304                        .HasColumnType("TEXT");
 1305
 1306                    b.Property<int?>("ProductionYear")
 1307                        .HasColumnType("INTEGER");
 1308
 1309                    b.Property<long?>("RunTimeTicks")
 1310                        .HasColumnType("INTEGER");
 1311
 1312                    b.Property<Guid?>("SeasonId")
 1313                        .HasColumnType("TEXT");
 1314
 1315                    b.Property<string>("SeasonName")
 1316                        .HasColumnType("TEXT");
 1317
 1318                    b.Property<Guid?>("SeriesId")
 1319                        .HasColumnType("TEXT");
 1320
 1321                    b.Property<string>("SeriesName")
 1322                        .HasColumnType("TEXT");
 1323
 1324                    b.Property<string>("SeriesPresentationUniqueKey")
 1325                        .HasColumnType("TEXT");
 1326
 1327                    b.Property<string>("ShowId")
 1328                        .HasColumnType("TEXT");
 1329
 1330                    b.Property<long?>("Size")
 1331                        .HasColumnType("INTEGER");
 1332
 1333                    b.Property<string>("SortName")
 1334                        .HasColumnType("TEXT");
 1335
 1336                    b.Property<DateTime?>("StartDate")
 1337                        .HasColumnType("TEXT");
 1338
 1339                    b.Property<string>("Studios")
 1340                        .HasColumnType("TEXT");
 1341
 1342                    b.Property<string>("Tagline")
 1343                        .HasColumnType("TEXT");
 1344
 1345                    b.Property<string>("Tags")
 1346                        .HasColumnType("TEXT");
 1347
 1348                    b.Property<Guid?>("TopParentId")
 1349                        .HasColumnType("TEXT");
 1350
 1351                    b.Property<int?>("TotalBitrate")
 1352                        .HasColumnType("INTEGER");
 1353
 1354                    b.Property<string>("Type")
 1355                        .IsRequired()
 1356                        .HasColumnType("TEXT");
 1357
 1358                    b.Property<string>("UnratedType")
 1359                        .HasColumnType("TEXT");
 1360
 1361                    b.Property<int?>("Width")
 1362                        .HasColumnType("INTEGER");
 1363
 1364                    b.HasKey("Id");
 1365
 1366                    b.HasIndex("Name");
 1367
 1368                    b.HasIndex("OwnerId");
 1369
 1370                    b.HasIndex("ParentId");
 1371
 1372                    b.HasIndex("Path");
 1373
 1374                    b.HasIndex("PresentationUniqueKey");
 1375
 1376                    b.HasIndex("SeasonId");
 1377
 1378                    b.HasIndex("SeriesId");
 1379
 1380                    b.HasIndex("SeriesName");
 1381
 1382                    b.HasIndex("ExtraType", "OwnerId");
 1383
 1384                    b.HasIndex("TopParentId", "Id");
 1385
 1386                    b.HasIndex("Type", "CleanName");
 1387
 1388                    b.HasIndex("TopParentId", "Type", "IsVirtualItem")
 1389                        .HasFilter("\"PrimaryVersionId\" IS NULL AND (\"OwnerId\" IS NULL OR \"ExtraType\" IS NOT NULL)"
 1390
 1391                    b.HasIndex("Type", "TopParentId", "Id");
 1392
 1393                    b.HasIndex("Type", "TopParentId", "PresentationUniqueKey");
 1394
 1395                    b.HasIndex("Type", "TopParentId", "SortName");
 1396
 1397                    b.HasIndex("Type", "TopParentId", "StartDate");
 1398
 1399                    b.HasIndex("MediaType", "TopParentId", "IsVirtualItem", "PresentationUniqueKey");
 1400
 1401                    b.HasIndex("TopParentId", "IsFolder", "IsVirtualItem", "DateCreated");
 1402
 1403                    b.HasIndex("TopParentId", "MediaType", "IsVirtualItem", "DateCreated");
 1404
 1405                    b.HasIndex("TopParentId", "Type", "IsVirtualItem", "DateCreated");
 1406
 1407                    b.HasIndex("Type", "SeriesPresentationUniqueKey", "IsFolder", "IsVirtualItem");
 1408
 1409                    b.HasIndex("Type", "SeriesPresentationUniqueKey", "ParentIndexNumber", "IndexNumber");
 1410
 1411                    b.HasIndex("Type", "SeriesPresentationUniqueKey", "PresentationUniqueKey", "SortName");
 1412
 1413                    b.HasIndex("IsFolder", "TopParentId", "IsVirtualItem", "PresentationUniqueKey", "DateCreated");
 1414
 1415                    b.HasIndex("Type", "TopParentId", "IsVirtualItem", "PresentationUniqueKey", "DateCreated");
 1416
 1417                    b.ToTable("BaseItems");
 1418
 1419                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1420
 1421                    b.HasData(
 1422                        new
 1423                        {
 1424                            Id = new Guid("00000000-0000-0000-0000-000000000001"),
 1425                            IsFolder = false,
 1426                            IsInMixedFolder = false,
 1427                            IsLocked = false,
 1428                            IsMovie = false,
 1429                            IsRepeat = false,
 1430                            IsSeries = false,
 1431                            IsVirtualItem = false,
 1432                            Name = "This is a placeholder item for UserData that has been detached from its original ite
 1433                            Type = "PLACEHOLDER"
 1434                        });
 1435                });
 436
 1437            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemImageInfo", b =>
 1438                {
 1439                    b.Property<Guid>("Id")
 1440                        .ValueGeneratedOnAdd()
 1441                        .HasColumnType("TEXT");
 1442
 1443                    b.Property<byte[]>("Blurhash")
 1444                        .HasColumnType("BLOB");
 1445
 1446                    b.Property<DateTime?>("DateModified")
 1447                        .HasColumnType("TEXT");
 1448
 1449                    b.Property<int>("Height")
 1450                        .HasColumnType("INTEGER");
 1451
 1452                    b.Property<int>("ImageType")
 1453                        .HasColumnType("INTEGER");
 1454
 1455                    b.Property<Guid>("ItemId")
 1456                        .HasColumnType("TEXT");
 1457
 1458                    b.Property<string>("Path")
 1459                        .IsRequired()
 1460                        .HasColumnType("TEXT");
 1461
 1462                    b.Property<int>("Width")
 1463                        .HasColumnType("INTEGER");
 1464
 1465                    b.HasKey("Id");
 1466
 1467                    b.HasIndex("ItemId", "ImageType");
 1468
 1469                    b.ToTable("BaseItemImageInfos");
 1470
 1471                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1472                });
 473
 1474            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemMetadataField", b =>
 1475                {
 1476                    b.Property<int>("Id")
 1477                        .HasColumnType("INTEGER");
 1478
 1479                    b.Property<Guid>("ItemId")
 1480                        .HasColumnType("TEXT");
 1481
 1482                    b.HasKey("Id", "ItemId");
 1483
 1484                    b.HasIndex("ItemId");
 1485
 1486                    b.ToTable("BaseItemMetadataFields");
 1487
 1488                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1489                });
 490
 1491            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemProvider", b =>
 1492                {
 1493                    b.Property<Guid>("ItemId")
 1494                        .HasColumnType("TEXT");
 1495
 1496                    b.Property<string>("ProviderId")
 1497                        .HasColumnType("TEXT");
 1498
 1499                    b.Property<string>("ProviderValue")
 1500                        .IsRequired()
 1501                        .HasColumnType("TEXT");
 1502
 1503                    b.HasKey("ItemId", "ProviderId");
 1504
 1505                    b.HasIndex("ProviderId", "ItemId", "ProviderValue");
 1506
 1507                    b.ToTable("BaseItemProviders");
 1508
 1509                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1510                });
 511
 1512            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemTrailerType", b =>
 1513                {
 1514                    b.Property<int>("Id")
 1515                        .HasColumnType("INTEGER");
 1516
 1517                    b.Property<Guid>("ItemId")
 1518                        .HasColumnType("TEXT");
 1519
 1520                    b.HasKey("Id", "ItemId");
 1521
 1522                    b.HasIndex("ItemId");
 1523
 1524                    b.ToTable("BaseItemTrailerTypes");
 1525
 1526                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1527                });
 528
 1529            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Chapter", b =>
 1530                {
 1531                    b.Property<Guid>("ItemId")
 1532                        .HasColumnType("TEXT");
 1533
 1534                    b.Property<int>("ChapterIndex")
 1535                        .HasColumnType("INTEGER");
 1536
 1537                    b.Property<DateTime?>("ImageDateModified")
 1538                        .HasColumnType("TEXT");
 1539
 1540                    b.Property<string>("ImagePath")
 1541                        .HasColumnType("TEXT");
 1542
 1543                    b.Property<string>("Name")
 1544                        .HasColumnType("TEXT");
 1545
 1546                    b.Property<long>("StartPositionTicks")
 1547                        .HasColumnType("INTEGER");
 1548
 1549                    b.HasKey("ItemId", "ChapterIndex");
 1550
 1551                    b.ToTable("Chapters");
 1552
 1553                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1554                });
 555
 1556            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.CustomItemDisplayPreferences", b =>
 1557                {
 1558                    b.Property<int>("Id")
 1559                        .ValueGeneratedOnAdd()
 1560                        .HasColumnType("INTEGER");
 1561
 1562                    b.Property<string>("Client")
 1563                        .IsRequired()
 1564                        .HasMaxLength(32)
 1565                        .HasColumnType("TEXT");
 1566
 1567                    b.Property<Guid>("ItemId")
 1568                        .HasColumnType("TEXT");
 1569
 1570                    b.Property<string>("Key")
 1571                        .IsRequired()
 1572                        .HasColumnType("TEXT");
 1573
 1574                    b.Property<Guid>("UserId")
 1575                        .HasColumnType("TEXT");
 1576
 1577                    b.Property<string>("Value")
 1578                        .HasColumnType("TEXT");
 1579
 1580                    b.HasKey("Id");
 1581
 1582                    b.HasIndex("UserId", "ItemId", "Client", "Key")
 1583                        .IsUnique();
 1584
 1585                    b.ToTable("CustomItemDisplayPreferences");
 1586
 1587                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1588                });
 589
 1590            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.DisplayPreferences", b =>
 1591                {
 1592                    b.Property<int>("Id")
 1593                        .ValueGeneratedOnAdd()
 1594                        .HasColumnType("INTEGER");
 1595
 1596                    b.Property<int>("ChromecastVersion")
 1597                        .HasColumnType("INTEGER");
 1598
 1599                    b.Property<string>("Client")
 1600                        .IsRequired()
 1601                        .HasMaxLength(32)
 1602                        .HasColumnType("TEXT");
 1603
 1604                    b.Property<string>("DashboardTheme")
 1605                        .HasMaxLength(32)
 1606                        .HasColumnType("TEXT");
 1607
 1608                    b.Property<bool>("EnableNextVideoInfoOverlay")
 1609                        .HasColumnType("INTEGER");
 1610
 1611                    b.Property<int?>("IndexBy")
 1612                        .HasColumnType("INTEGER");
 1613
 1614                    b.Property<Guid>("ItemId")
 1615                        .HasColumnType("TEXT");
 1616
 1617                    b.Property<int>("ScrollDirection")
 1618                        .HasColumnType("INTEGER");
 1619
 1620                    b.Property<bool>("ShowBackdrop")
 1621                        .HasColumnType("INTEGER");
 1622
 1623                    b.Property<bool>("ShowSidebar")
 1624                        .HasColumnType("INTEGER");
 1625
 1626                    b.Property<int>("SkipBackwardLength")
 1627                        .HasColumnType("INTEGER");
 1628
 1629                    b.Property<int>("SkipForwardLength")
 1630                        .HasColumnType("INTEGER");
 1631
 1632                    b.Property<string>("TvHome")
 1633                        .HasMaxLength(32)
 1634                        .HasColumnType("TEXT");
 1635
 1636                    b.Property<Guid>("UserId")
 1637                        .HasColumnType("TEXT");
 1638
 1639                    b.HasKey("Id");
 1640
 1641                    b.HasIndex("UserId", "ItemId", "Client")
 1642                        .IsUnique();
 1643
 1644                    b.ToTable("DisplayPreferences");
 1645
 1646                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1647                });
 648
 1649            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.HomeSection", b =>
 1650                {
 1651                    b.Property<int>("Id")
 1652                        .ValueGeneratedOnAdd()
 1653                        .HasColumnType("INTEGER");
 1654
 1655                    b.Property<int>("DisplayPreferencesId")
 1656                        .HasColumnType("INTEGER");
 1657
 1658                    b.Property<int>("Order")
 1659                        .HasColumnType("INTEGER");
 1660
 1661                    b.Property<int>("Type")
 1662                        .HasColumnType("INTEGER");
 1663
 1664                    b.HasKey("Id");
 1665
 1666                    b.HasIndex("DisplayPreferencesId");
 1667
 1668                    b.ToTable("HomeSection");
 1669
 1670                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1671                });
 672
 1673            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ImageInfo", b =>
 1674                {
 1675                    b.Property<int>("Id")
 1676                        .ValueGeneratedOnAdd()
 1677                        .HasColumnType("INTEGER");
 1678
 1679                    b.Property<DateTime>("LastModified")
 1680                        .HasColumnType("TEXT");
 1681
 1682                    b.Property<string>("Path")
 1683                        .IsRequired()
 1684                        .HasMaxLength(512)
 1685                        .HasColumnType("TEXT");
 1686
 1687                    b.Property<Guid?>("UserId")
 1688                        .HasColumnType("TEXT");
 1689
 1690                    b.HasKey("Id");
 1691
 1692                    b.HasIndex("UserId")
 1693                        .IsUnique();
 1694
 1695                    b.ToTable("ImageInfos");
 1696
 1697                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1698                });
 699
 1700            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemDisplayPreferences", b =>
 1701                {
 1702                    b.Property<int>("Id")
 1703                        .ValueGeneratedOnAdd()
 1704                        .HasColumnType("INTEGER");
 1705
 1706                    b.Property<string>("Client")
 1707                        .IsRequired()
 1708                        .HasMaxLength(32)
 1709                        .HasColumnType("TEXT");
 1710
 1711                    b.Property<int?>("IndexBy")
 1712                        .HasColumnType("INTEGER");
 1713
 1714                    b.Property<Guid>("ItemId")
 1715                        .HasColumnType("TEXT");
 1716
 1717                    b.Property<bool>("RememberIndexing")
 1718                        .HasColumnType("INTEGER");
 1719
 1720                    b.Property<bool>("RememberSorting")
 1721                        .HasColumnType("INTEGER");
 1722
 1723                    b.Property<string>("SortBy")
 1724                        .IsRequired()
 1725                        .HasMaxLength(64)
 1726                        .HasColumnType("TEXT");
 1727
 1728                    b.Property<int>("SortOrder")
 1729                        .HasColumnType("INTEGER");
 1730
 1731                    b.Property<Guid>("UserId")
 1732                        .HasColumnType("TEXT");
 1733
 1734                    b.Property<int>("ViewType")
 1735                        .HasColumnType("INTEGER");
 1736
 1737                    b.HasKey("Id");
 1738
 1739                    b.HasIndex("UserId");
 1740
 1741                    b.ToTable("ItemDisplayPreferences");
 1742
 1743                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1744                });
 745
 1746            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemValue", b =>
 1747                {
 1748                    b.Property<Guid>("ItemValueId")
 1749                        .ValueGeneratedOnAdd()
 1750                        .HasColumnType("TEXT");
 1751
 1752                    b.Property<string>("CleanValue")
 1753                        .IsRequired()
 1754                        .HasColumnType("TEXT");
 1755
 1756                    b.Property<int>("Type")
 1757                        .HasColumnType("INTEGER");
 1758
 1759                    b.Property<string>("Value")
 1760                        .IsRequired()
 1761                        .HasColumnType("TEXT");
 1762
 1763                    b.HasKey("ItemValueId");
 1764
 1765                    b.HasIndex("Type", "CleanValue");
 1766
 1767                    b.HasIndex("Type", "Value")
 1768                        .IsUnique();
 1769
 1770                    b.ToTable("ItemValues");
 1771
 1772                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1773                });
 774
 1775            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemValueMap", b =>
 1776                {
 1777                    b.Property<Guid>("ItemValueId")
 1778                        .HasColumnType("TEXT");
 1779
 1780                    b.Property<Guid>("ItemId")
 1781                        .HasColumnType("TEXT");
 1782
 1783                    b.HasKey("ItemValueId", "ItemId");
 1784
 1785                    b.HasIndex("ItemId");
 1786
 1787                    b.ToTable("ItemValuesMap");
 1788
 1789                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1790                });
 791
 1792            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.KeyframeData", b =>
 1793                {
 1794                    b.Property<Guid>("ItemId")
 1795                        .HasColumnType("TEXT");
 1796
 1797                    b.PrimitiveCollection<string>("KeyframeTicks")
 1798                        .HasColumnType("TEXT");
 1799
 1800                    b.Property<long>("TotalDuration")
 1801                        .HasColumnType("INTEGER");
 1802
 1803                    b.HasKey("ItemId");
 1804
 1805                    b.ToTable("KeyframeData");
 1806
 1807                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1808                });
 809
 1810            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.LinkedChildEntity", b =>
 1811                {
 1812                    b.Property<Guid>("ParentId")
 1813                        .HasColumnType("TEXT");
 1814
 1815                    b.Property<Guid>("ChildId")
 1816                        .HasColumnType("TEXT");
 1817
 1818                    b.Property<int>("ChildType")
 1819                        .HasColumnType("INTEGER");
 1820
 1821                    b.Property<int?>("SortOrder")
 1822                        .HasColumnType("INTEGER");
 1823
 1824                    b.HasKey("ParentId", "ChildId");
 1825
 1826                    b.HasIndex("ChildId", "ChildType");
 1827
 1828                    b.HasIndex("ParentId", "ChildType");
 1829
 1830                    b.HasIndex("ParentId", "SortOrder");
 1831
 1832                    b.ToTable("LinkedChildren", (string)null);
 1833
 1834                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1835                });
 836
 1837            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.MediaSegment", b =>
 1838                {
 1839                    b.Property<Guid>("Id")
 1840                        .ValueGeneratedOnAdd()
 1841                        .HasColumnType("TEXT");
 1842
 1843                    b.Property<long>("EndTicks")
 1844                        .HasColumnType("INTEGER");
 1845
 1846                    b.Property<Guid>("ItemId")
 1847                        .HasColumnType("TEXT");
 1848
 1849                    b.Property<string>("SegmentProviderId")
 1850                        .IsRequired()
 1851                        .HasColumnType("TEXT");
 1852
 1853                    b.Property<long>("StartTicks")
 1854                        .HasColumnType("INTEGER");
 1855
 1856                    b.Property<int>("Type")
 1857                        .HasColumnType("INTEGER");
 1858
 1859                    b.HasKey("Id");
 1860
 1861                    b.ToTable("MediaSegments");
 1862
 1863                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1864                });
 865
 1866            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.MediaStreamInfo", b =>
 1867                {
 1868                    b.Property<Guid>("ItemId")
 1869                        .HasColumnType("TEXT");
 1870
 1871                    b.Property<int>("StreamIndex")
 1872                        .HasColumnType("INTEGER");
 1873
 1874                    b.Property<string>("AspectRatio")
 1875                        .HasColumnType("TEXT");
 1876
 1877                    b.Property<float?>("AverageFrameRate")
 1878                        .HasColumnType("REAL");
 1879
 1880                    b.Property<int?>("BitDepth")
 1881                        .HasColumnType("INTEGER");
 1882
 1883                    b.Property<int?>("BitRate")
 1884                        .HasColumnType("INTEGER");
 1885
 1886                    b.Property<int?>("BlPresentFlag")
 1887                        .HasColumnType("INTEGER");
 1888
 1889                    b.Property<string>("ChannelLayout")
 1890                        .HasColumnType("TEXT");
 1891
 1892                    b.Property<int?>("Channels")
 1893                        .HasColumnType("INTEGER");
 1894
 1895                    b.Property<string>("Codec")
 1896                        .HasColumnType("TEXT");
 1897
 1898                    b.Property<string>("CodecTag")
 1899                        .HasColumnType("TEXT");
 1900
 1901                    b.Property<string>("CodecTimeBase")
 1902                        .HasColumnType("TEXT");
 1903
 1904                    b.Property<string>("ColorPrimaries")
 1905                        .HasColumnType("TEXT");
 1906
 1907                    b.Property<string>("ColorSpace")
 1908                        .HasColumnType("TEXT");
 1909
 1910                    b.Property<string>("ColorTransfer")
 1911                        .HasColumnType("TEXT");
 1912
 1913                    b.Property<string>("Comment")
 1914                        .HasColumnType("TEXT");
 1915
 1916                    b.Property<int?>("DvBlSignalCompatibilityId")
 1917                        .HasColumnType("INTEGER");
 1918
 1919                    b.Property<int?>("DvLevel")
 1920                        .HasColumnType("INTEGER");
 1921
 1922                    b.Property<int?>("DvProfile")
 1923                        .HasColumnType("INTEGER");
 1924
 1925                    b.Property<int?>("DvVersionMajor")
 1926                        .HasColumnType("INTEGER");
 1927
 1928                    b.Property<int?>("DvVersionMinor")
 1929                        .HasColumnType("INTEGER");
 1930
 1931                    b.Property<int?>("ElPresentFlag")
 1932                        .HasColumnType("INTEGER");
 1933
 1934                    b.Property<bool?>("Hdr10PlusPresentFlag")
 1935                        .HasColumnType("INTEGER");
 1936
 1937                    b.Property<int?>("Height")
 1938                        .HasColumnType("INTEGER");
 1939
 1940                    b.Property<bool?>("IsAnamorphic")
 1941                        .HasColumnType("INTEGER");
 1942
 1943                    b.Property<bool?>("IsAvc")
 1944                        .HasColumnType("INTEGER");
 1945
 1946                    b.Property<bool>("IsDefault")
 1947                        .HasColumnType("INTEGER");
 1948
 1949                    b.Property<bool>("IsExternal")
 1950                        .HasColumnType("INTEGER");
 1951
 1952                    b.Property<bool>("IsForced")
 1953                        .HasColumnType("INTEGER");
 1954
 1955                    b.Property<bool?>("IsHearingImpaired")
 1956                        .HasColumnType("INTEGER");
 1957
 1958                    b.Property<bool?>("IsInterlaced")
 1959                        .HasColumnType("INTEGER");
 1960
 1961                    b.Property<bool>("IsOriginal")
 1962                        .HasColumnType("INTEGER");
 1963
 1964                    b.Property<string>("KeyFrames")
 1965                        .HasColumnType("TEXT");
 1966
 1967                    b.Property<string>("Language")
 1968                        .HasColumnType("TEXT");
 1969
 1970                    b.Property<float?>("Level")
 1971                        .HasColumnType("REAL");
 1972
 1973                    b.Property<string>("NalLengthSize")
 1974                        .HasColumnType("TEXT");
 1975
 1976                    b.Property<string>("Path")
 1977                        .HasColumnType("TEXT");
 1978
 1979                    b.Property<string>("PixelFormat")
 1980                        .HasColumnType("TEXT");
 1981
 1982                    b.Property<string>("Profile")
 1983                        .HasColumnType("TEXT");
 1984
 1985                    b.Property<float?>("RealFrameRate")
 1986                        .HasColumnType("REAL");
 1987
 1988                    b.Property<int?>("RefFrames")
 1989                        .HasColumnType("INTEGER");
 1990
 1991                    b.Property<int?>("Rotation")
 1992                        .HasColumnType("INTEGER");
 1993
 1994                    b.Property<int?>("RpuPresentFlag")
 1995                        .HasColumnType("INTEGER");
 1996
 1997                    b.Property<int?>("SampleRate")
 1998                        .HasColumnType("INTEGER");
 1999
 11000                    b.Property<int>("StreamType")
 11001                        .HasColumnType("INTEGER");
 11002
 11003                    b.Property<string>("TimeBase")
 11004                        .HasColumnType("TEXT");
 11005
 11006                    b.Property<string>("Title")
 11007                        .HasColumnType("TEXT");
 11008
 11009                    b.Property<int?>("Width")
 11010                        .HasColumnType("INTEGER");
 11011
 11012                    b.HasKey("ItemId", "StreamIndex");
 11013
 11014                    b.ToTable("MediaStreamInfos");
 11015
 11016                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11017                });
 1018
 11019            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.People", b =>
 11020                {
 11021                    b.Property<Guid>("Id")
 11022                        .ValueGeneratedOnAdd()
 11023                        .HasColumnType("TEXT");
 11024
 11025                    b.Property<string>("Name")
 11026                        .IsRequired()
 11027                        .HasColumnType("TEXT");
 11028
 11029                    b.Property<string>("PersonType")
 11030                        .HasColumnType("TEXT");
 11031
 11032                    b.HasKey("Id");
 11033
 11034                    b.HasIndex("Name");
 11035
 11036                    b.ToTable("Peoples");
 11037
 11038                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11039                });
 1040
 11041            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.PeopleBaseItemMap", b =>
 11042                {
 11043                    b.Property<Guid>("ItemId")
 11044                        .HasColumnType("TEXT");
 11045
 11046                    b.Property<Guid>("PeopleId")
 11047                        .HasColumnType("TEXT");
 11048
 11049                    b.Property<string>("Role")
 11050                        .HasColumnType("TEXT");
 11051
 11052                    b.Property<int?>("ListOrder")
 11053                        .HasColumnType("INTEGER");
 11054
 11055                    b.Property<int?>("SortOrder")
 11056                        .HasColumnType("INTEGER");
 11057
 11058                    b.HasKey("ItemId", "PeopleId", "Role");
 11059
 11060                    b.HasIndex("PeopleId");
 11061
 11062                    b.HasIndex("ItemId", "ListOrder");
 11063
 11064                    b.HasIndex("ItemId", "SortOrder");
 11065
 11066                    b.ToTable("PeopleBaseItemMap");
 11067
 11068                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11069                });
 1070
 11071            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Permission", b =>
 11072                {
 11073                    b.Property<int>("Id")
 11074                        .ValueGeneratedOnAdd()
 11075                        .HasColumnType("INTEGER");
 11076
 11077                    b.Property<int>("Kind")
 11078                        .HasColumnType("INTEGER");
 11079
 11080                    b.Property<Guid?>("Permission_Permissions_Guid")
 11081                        .HasColumnType("TEXT");
 11082
 11083                    b.Property<uint>("RowVersion")
 11084                        .IsConcurrencyToken()
 11085                        .HasColumnType("INTEGER");
 11086
 11087                    b.Property<Guid?>("UserId")
 11088                        .HasColumnType("TEXT");
 11089
 11090                    b.Property<bool>("Value")
 11091                        .HasColumnType("INTEGER");
 11092
 11093                    b.HasKey("Id");
 11094
 11095                    b.HasIndex("UserId", "Kind")
 11096                        .IsUnique()
 11097                        .HasFilter("[UserId] IS NOT NULL");
 11098
 11099                    b.ToTable("Permissions");
 11100
 11101                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11102                });
 1103
 11104            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Preference", b =>
 11105                {
 11106                    b.Property<int>("Id")
 11107                        .ValueGeneratedOnAdd()
 11108                        .HasColumnType("INTEGER");
 11109
 11110                    b.Property<int>("Kind")
 11111                        .HasColumnType("INTEGER");
 11112
 11113                    b.Property<Guid?>("Preference_Preferences_Guid")
 11114                        .HasColumnType("TEXT");
 11115
 11116                    b.Property<uint>("RowVersion")
 11117                        .IsConcurrencyToken()
 11118                        .HasColumnType("INTEGER");
 11119
 11120                    b.Property<Guid?>("UserId")
 11121                        .HasColumnType("TEXT");
 11122
 11123                    b.Property<string>("Value")
 11124                        .IsRequired()
 11125                        .HasMaxLength(65535)
 11126                        .HasColumnType("TEXT");
 11127
 11128                    b.HasKey("Id");
 11129
 11130                    b.HasIndex("UserId", "Kind")
 11131                        .IsUnique()
 11132                        .HasFilter("[UserId] IS NOT NULL");
 11133
 11134                    b.ToTable("Preferences");
 11135
 11136                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11137                });
 1138
 11139            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Security.ApiKey", b =>
 11140                {
 11141                    b.Property<int>("Id")
 11142                        .ValueGeneratedOnAdd()
 11143                        .HasColumnType("INTEGER");
 11144
 11145                    b.Property<string>("AccessToken")
 11146                        .IsRequired()
 11147                        .HasColumnType("TEXT");
 11148
 11149                    b.Property<DateTime>("DateCreated")
 11150                        .HasColumnType("TEXT");
 11151
 11152                    b.Property<DateTime>("DateLastActivity")
 11153                        .HasColumnType("TEXT");
 11154
 11155                    b.Property<string>("Name")
 11156                        .IsRequired()
 11157                        .HasMaxLength(64)
 11158                        .HasColumnType("TEXT");
 11159
 11160                    b.HasKey("Id");
 11161
 11162                    b.HasIndex("AccessToken")
 11163                        .IsUnique();
 11164
 11165                    b.ToTable("ApiKeys");
 11166
 11167                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11168                });
 1169
 11170            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Security.Device", b =>
 11171                {
 11172                    b.Property<int>("Id")
 11173                        .ValueGeneratedOnAdd()
 11174                        .HasColumnType("INTEGER");
 11175
 11176                    b.Property<string>("AccessToken")
 11177                        .IsRequired()
 11178                        .HasColumnType("TEXT");
 11179
 11180                    b.Property<string>("AppName")
 11181                        .IsRequired()
 11182                        .HasMaxLength(64)
 11183                        .HasColumnType("TEXT");
 11184
 11185                    b.Property<string>("AppVersion")
 11186                        .IsRequired()
 11187                        .HasMaxLength(32)
 11188                        .HasColumnType("TEXT");
 11189
 11190                    b.Property<DateTime>("DateCreated")
 11191                        .HasColumnType("TEXT");
 11192
 11193                    b.Property<DateTime>("DateLastActivity")
 11194                        .HasColumnType("TEXT");
 11195
 11196                    b.Property<DateTime>("DateModified")
 11197                        .HasColumnType("TEXT");
 11198
 11199                    b.Property<string>("DeviceId")
 11200                        .IsRequired()
 11201                        .HasMaxLength(256)
 11202                        .HasColumnType("TEXT");
 11203
 11204                    b.Property<string>("DeviceName")
 11205                        .IsRequired()
 11206                        .HasMaxLength(64)
 11207                        .HasColumnType("TEXT");
 11208
 11209                    b.Property<bool>("IsActive")
 11210                        .HasColumnType("INTEGER");
 11211
 11212                    b.Property<Guid>("UserId")
 11213                        .HasColumnType("TEXT");
 11214
 11215                    b.HasKey("Id");
 11216
 11217                    b.HasIndex("AccessToken", "DateLastActivity");
 11218
 11219                    b.HasIndex("DeviceId", "DateLastActivity");
 11220
 11221                    b.HasIndex("UserId", "DeviceId");
 11222
 11223                    b.ToTable("Devices");
 11224
 11225                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11226                });
 1227
 11228            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Security.DeviceOptions", b =>
 11229                {
 11230                    b.Property<int>("Id")
 11231                        .ValueGeneratedOnAdd()
 11232                        .HasColumnType("INTEGER");
 11233
 11234                    b.Property<string>("CustomName")
 11235                        .HasColumnType("TEXT");
 11236
 11237                    b.Property<string>("DeviceId")
 11238                        .IsRequired()
 11239                        .HasColumnType("TEXT");
 11240
 11241                    b.HasKey("Id");
 11242
 11243                    b.HasIndex("DeviceId")
 11244                        .IsUnique();
 11245
 11246                    b.ToTable("DeviceOptions");
 11247
 11248                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11249                });
 1250
 11251            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.TrickplayInfo", b =>
 11252                {
 11253                    b.Property<Guid>("ItemId")
 11254                        .HasColumnType("TEXT");
 11255
 11256                    b.Property<int>("Width")
 11257                        .HasColumnType("INTEGER");
 11258
 11259                    b.Property<int>("Bandwidth")
 11260                        .HasColumnType("INTEGER");
 11261
 11262                    b.Property<int>("Height")
 11263                        .HasColumnType("INTEGER");
 11264
 11265                    b.Property<int>("Interval")
 11266                        .HasColumnType("INTEGER");
 11267
 11268                    b.Property<int>("ThumbnailCount")
 11269                        .HasColumnType("INTEGER");
 11270
 11271                    b.Property<int>("TileHeight")
 11272                        .HasColumnType("INTEGER");
 11273
 11274                    b.Property<int>("TileWidth")
 11275                        .HasColumnType("INTEGER");
 11276
 11277                    b.HasKey("ItemId", "Width");
 11278
 11279                    b.ToTable("TrickplayInfos");
 11280
 11281                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11282                });
 1283
 11284            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.User", b =>
 11285                {
 11286                    b.Property<Guid>("Id")
 11287                        .ValueGeneratedOnAdd()
 11288                        .HasColumnType("TEXT");
 11289
 11290                    b.Property<string>("AudioLanguagePreference")
 11291                        .HasMaxLength(255)
 11292                        .HasColumnType("TEXT");
 11293
 11294                    b.Property<string>("AuthenticationProviderId")
 11295                        .IsRequired()
 11296                        .HasMaxLength(255)
 11297                        .HasColumnType("TEXT");
 11298
 11299                    b.Property<string>("CastReceiverId")
 11300                        .HasMaxLength(32)
 11301                        .HasColumnType("TEXT");
 11302
 11303                    b.Property<bool>("DisplayCollectionsView")
 11304                        .HasColumnType("INTEGER");
 11305
 11306                    b.Property<bool>("DisplayMissingEpisodes")
 11307                        .HasColumnType("INTEGER");
 11308
 11309                    b.Property<bool>("EnableAutoLogin")
 11310                        .HasColumnType("INTEGER");
 11311
 11312                    b.Property<bool>("EnableLocalPassword")
 11313                        .HasColumnType("INTEGER");
 11314
 11315                    b.Property<bool>("EnableNextEpisodeAutoPlay")
 11316                        .HasColumnType("INTEGER");
 11317
 11318                    b.Property<bool>("EnableUserPreferenceAccess")
 11319                        .HasColumnType("INTEGER");
 11320
 11321                    b.Property<bool>("HidePlayedInLatest")
 11322                        .HasColumnType("INTEGER");
 11323
 11324                    b.Property<long>("InternalId")
 11325                        .HasColumnType("INTEGER");
 11326
 11327                    b.Property<int>("InvalidLoginAttemptCount")
 11328                        .HasColumnType("INTEGER");
 11329
 11330                    b.Property<DateTime?>("LastActivityDate")
 11331                        .HasColumnType("TEXT");
 11332
 11333                    b.Property<DateTime?>("LastLoginDate")
 11334                        .HasColumnType("TEXT");
 11335
 11336                    b.Property<int?>("LoginAttemptsBeforeLockout")
 11337                        .HasColumnType("INTEGER");
 11338
 11339                    b.Property<int>("MaxActiveSessions")
 11340                        .HasColumnType("INTEGER");
 11341
 11342                    b.Property<int?>("MaxParentalRatingScore")
 11343                        .HasColumnType("INTEGER");
 11344
 11345                    b.Property<int?>("MaxParentalRatingSubScore")
 11346                        .HasColumnType("INTEGER");
 11347
 11348                    b.Property<bool>("MustUpdatePassword")
 11349                        .HasColumnType("INTEGER");
 11350
 11351                    b.Property<string>("NormalizedUsername")
 11352                        .IsRequired()
 11353                        .HasMaxLength(255)
 11354                        .HasColumnType("TEXT");
 11355
 11356                    b.Property<string>("Password")
 11357                        .HasMaxLength(65535)
 11358                        .HasColumnType("TEXT");
 11359
 11360                    b.Property<string>("PasswordResetProviderId")
 11361                        .IsRequired()
 11362                        .HasMaxLength(255)
 11363                        .HasColumnType("TEXT");
 11364
 11365                    b.Property<bool>("PlayDefaultAudioTrack")
 11366                        .HasColumnType("INTEGER");
 11367
 11368                    b.Property<bool>("RememberAudioSelections")
 11369                        .HasColumnType("INTEGER");
 11370
 11371                    b.Property<bool>("RememberSubtitleSelections")
 11372                        .HasColumnType("INTEGER");
 11373
 11374                    b.Property<int?>("RemoteClientBitrateLimit")
 11375                        .HasColumnType("INTEGER");
 11376
 11377                    b.Property<uint>("RowVersion")
 11378                        .IsConcurrencyToken()
 11379                        .HasColumnType("INTEGER");
 11380
 11381                    b.Property<string>("SubtitleLanguagePreference")
 11382                        .HasMaxLength(255)
 11383                        .HasColumnType("TEXT");
 11384
 11385                    b.Property<int>("SubtitleMode")
 11386                        .HasColumnType("INTEGER");
 11387
 11388                    b.Property<int>("SyncPlayAccess")
 11389                        .HasColumnType("INTEGER");
 11390
 11391                    b.Property<string>("Username")
 11392                        .IsRequired()
 11393                        .HasMaxLength(255)
 11394                        .HasColumnType("TEXT");
 11395
 11396                    b.HasKey("Id");
 11397
 11398                    b.HasIndex("NormalizedUsername")
 11399                        .IsUnique();
 11400
 11401                    b.HasIndex("Username")
 11402                        .IsUnique();
 11403
 11404                    b.ToTable("Users");
 11405
 11406                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11407                });
 1408
 11409            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.UserData", b =>
 11410                {
 11411                    b.Property<Guid>("ItemId")
 11412                        .HasColumnType("TEXT");
 11413
 11414                    b.Property<Guid>("UserId")
 11415                        .HasColumnType("TEXT");
 11416
 11417                    b.Property<string>("CustomDataKey")
 11418                        .HasColumnType("TEXT");
 11419
 11420                    b.Property<int?>("AudioStreamIndex")
 11421                        .HasColumnType("INTEGER");
 11422
 11423                    b.Property<bool>("IsFavorite")
 11424                        .HasColumnType("INTEGER");
 11425
 11426                    b.Property<DateTime?>("LastPlayedDate")
 11427                        .HasColumnType("TEXT");
 11428
 11429                    b.Property<bool?>("Likes")
 11430                        .HasColumnType("INTEGER");
 11431
 11432                    b.Property<int>("PlayCount")
 11433                        .HasColumnType("INTEGER");
 11434
 11435                    b.Property<long>("PlaybackPositionTicks")
 11436                        .HasColumnType("INTEGER");
 11437
 11438                    b.Property<bool>("Played")
 11439                        .HasColumnType("INTEGER");
 11440
 11441                    b.Property<double?>("Rating")
 11442                        .HasColumnType("REAL");
 11443
 11444                    b.Property<DateTime?>("RetentionDate")
 11445                        .HasColumnType("TEXT");
 11446
 11447                    b.Property<int?>("SubtitleStreamIndex")
 11448                        .HasColumnType("INTEGER");
 11449
 11450                    b.HasKey("ItemId", "UserId", "CustomDataKey");
 11451
 11452                    b.HasIndex("ItemId", "UserId", "IsFavorite");
 11453
 11454                    b.HasIndex("ItemId", "UserId", "LastPlayedDate");
 11455
 11456                    b.HasIndex("ItemId", "UserId", "PlaybackPositionTicks");
 11457
 11458                    b.HasIndex("ItemId", "UserId", "Played");
 11459
 11460                    b.HasIndex("UserId", "IsFavorite", "ItemId");
 11461
 11462                    b.HasIndex("UserId", "ItemId", "LastPlayedDate");
 11463
 11464                    b.HasIndex("UserId", "Played", "ItemId");
 11465
 11466                    b.ToTable("UserData");
 11467
 11468                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11469                });
 1470
 11471            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AccessSchedule", b =>
 11472                {
 11473                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11474                        .WithMany("AccessSchedules")
 11475                        .HasForeignKey("UserId")
 11476                        .OnDelete(DeleteBehavior.Cascade)
 11477                        .IsRequired();
 11478                });
 1479
 11480            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AncestorId", b =>
 11481                {
 11482                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11483                        .WithMany("Parents")
 11484                        .HasForeignKey("ItemId")
 11485                        .OnDelete(DeleteBehavior.Cascade)
 11486                        .IsRequired();
 11487
 11488                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "ParentItem")
 11489                        .WithMany("Children")
 11490                        .HasForeignKey("ParentItemId")
 11491                        .OnDelete(DeleteBehavior.Cascade)
 11492                        .IsRequired();
 11493
 11494                    b.Navigation("Item");
 11495
 11496                    b.Navigation("ParentItem");
 11497                });
 1498
 11499            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AttachmentStreamInfo", b =>
 11500                {
 11501                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11502                        .WithMany()
 11503                        .HasForeignKey("ItemId")
 11504                        .OnDelete(DeleteBehavior.Cascade)
 11505                        .IsRequired();
 11506
 11507                    b.Navigation("Item");
 11508                });
 1509
 11510            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemEntity", b =>
 11511                {
 11512                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Owner")
 11513                        .WithMany("Extras")
 11514                        .HasForeignKey("OwnerId")
 11515                        .OnDelete(DeleteBehavior.NoAction);
 11516
 11517                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "DirectParent")
 11518                        .WithMany("DirectChildren")
 11519                        .HasForeignKey("ParentId")
 11520                        .OnDelete(DeleteBehavior.Cascade);
 11521
 11522                    b.Navigation("DirectParent");
 11523
 11524                    b.Navigation("Owner");
 11525                });
 1526
 11527            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemImageInfo", b =>
 11528                {
 11529                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11530                        .WithMany("Images")
 11531                        .HasForeignKey("ItemId")
 11532                        .OnDelete(DeleteBehavior.Cascade)
 11533                        .IsRequired();
 11534
 11535                    b.Navigation("Item");
 11536                });
 1537
 11538            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemMetadataField", b =>
 11539                {
 11540                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11541                        .WithMany("LockedFields")
 11542                        .HasForeignKey("ItemId")
 11543                        .OnDelete(DeleteBehavior.Cascade)
 11544                        .IsRequired();
 11545
 11546                    b.Navigation("Item");
 11547                });
 1548
 11549            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemProvider", b =>
 11550                {
 11551                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11552                        .WithMany("Provider")
 11553                        .HasForeignKey("ItemId")
 11554                        .OnDelete(DeleteBehavior.Cascade)
 11555                        .IsRequired();
 11556
 11557                    b.Navigation("Item");
 11558                });
 1559
 11560            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemTrailerType", b =>
 11561                {
 11562                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11563                        .WithMany("TrailerTypes")
 11564                        .HasForeignKey("ItemId")
 11565                        .OnDelete(DeleteBehavior.Cascade)
 11566                        .IsRequired();
 11567
 11568                    b.Navigation("Item");
 11569                });
 1570
 11571            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Chapter", b =>
 11572                {
 11573                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11574                        .WithMany("Chapters")
 11575                        .HasForeignKey("ItemId")
 11576                        .OnDelete(DeleteBehavior.Cascade)
 11577                        .IsRequired();
 11578
 11579                    b.Navigation("Item");
 11580                });
 1581
 11582            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.DisplayPreferences", b =>
 11583                {
 11584                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11585                        .WithMany("DisplayPreferences")
 11586                        .HasForeignKey("UserId")
 11587                        .OnDelete(DeleteBehavior.Cascade)
 11588                        .IsRequired();
 11589                });
 1590
 11591            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.HomeSection", b =>
 11592                {
 11593                    b.HasOne("Jellyfin.Database.Implementations.Entities.DisplayPreferences", null)
 11594                        .WithMany("HomeSections")
 11595                        .HasForeignKey("DisplayPreferencesId")
 11596                        .OnDelete(DeleteBehavior.Cascade)
 11597                        .IsRequired();
 11598                });
 1599
 11600            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ImageInfo", b =>
 11601                {
 11602                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11603                        .WithOne("ProfileImage")
 11604                        .HasForeignKey("Jellyfin.Database.Implementations.Entities.ImageInfo", "UserId")
 11605                        .OnDelete(DeleteBehavior.Cascade);
 11606                });
 1607
 11608            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemDisplayPreferences", b =>
 11609                {
 11610                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11611                        .WithMany("ItemDisplayPreferences")
 11612                        .HasForeignKey("UserId")
 11613                        .OnDelete(DeleteBehavior.Cascade)
 11614                        .IsRequired();
 11615                });
 1616
 11617            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemValueMap", b =>
 11618                {
 11619                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11620                        .WithMany("ItemValues")
 11621                        .HasForeignKey("ItemId")
 11622                        .OnDelete(DeleteBehavior.Cascade)
 11623                        .IsRequired();
 11624
 11625                    b.HasOne("Jellyfin.Database.Implementations.Entities.ItemValue", "ItemValue")
 11626                        .WithMany("BaseItemsMap")
 11627                        .HasForeignKey("ItemValueId")
 11628                        .OnDelete(DeleteBehavior.Cascade)
 11629                        .IsRequired();
 11630
 11631                    b.Navigation("Item");
 11632
 11633                    b.Navigation("ItemValue");
 11634                });
 1635
 11636            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.KeyframeData", b =>
 11637                {
 11638                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11639                        .WithMany()
 11640                        .HasForeignKey("ItemId")
 11641                        .OnDelete(DeleteBehavior.Cascade)
 11642                        .IsRequired();
 11643
 11644                    b.Navigation("Item");
 11645                });
 1646
 11647            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.LinkedChildEntity", b =>
 11648                {
 11649                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Child")
 11650                        .WithMany("LinkedChildOfEntities")
 11651                        .HasForeignKey("ChildId")
 11652                        .OnDelete(DeleteBehavior.NoAction)
 11653                        .IsRequired();
 11654
 11655                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Parent")
 11656                        .WithMany("LinkedChildEntities")
 11657                        .HasForeignKey("ParentId")
 11658                        .OnDelete(DeleteBehavior.NoAction)
 11659                        .IsRequired();
 11660
 11661                    b.Navigation("Child");
 11662
 11663                    b.Navigation("Parent");
 11664                });
 1665
 11666            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.MediaStreamInfo", b =>
 11667                {
 11668                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11669                        .WithMany("MediaStreams")
 11670                        .HasForeignKey("ItemId")
 11671                        .OnDelete(DeleteBehavior.Cascade)
 11672                        .IsRequired();
 11673
 11674                    b.Navigation("Item");
 11675                });
 1676
 11677            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.PeopleBaseItemMap", b =>
 11678                {
 11679                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11680                        .WithMany("Peoples")
 11681                        .HasForeignKey("ItemId")
 11682                        .OnDelete(DeleteBehavior.Cascade)
 11683                        .IsRequired();
 11684
 11685                    b.HasOne("Jellyfin.Database.Implementations.Entities.People", "People")
 11686                        .WithMany("BaseItems")
 11687                        .HasForeignKey("PeopleId")
 11688                        .OnDelete(DeleteBehavior.Cascade)
 11689                        .IsRequired();
 11690
 11691                    b.Navigation("Item");
 11692
 11693                    b.Navigation("People");
 11694                });
 1695
 11696            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Permission", b =>
 11697                {
 11698                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11699                        .WithMany("Permissions")
 11700                        .HasForeignKey("UserId")
 11701                        .OnDelete(DeleteBehavior.Cascade);
 11702                });
 1703
 11704            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Preference", b =>
 11705                {
 11706                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11707                        .WithMany("Preferences")
 11708                        .HasForeignKey("UserId")
 11709                        .OnDelete(DeleteBehavior.Cascade);
 11710                });
 1711
 11712            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Security.Device", b =>
 11713                {
 11714                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", "User")
 11715                        .WithMany()
 11716                        .HasForeignKey("UserId")
 11717                        .OnDelete(DeleteBehavior.Cascade)
 11718                        .IsRequired();
 11719
 11720                    b.Navigation("User");
 11721                });
 1722
 11723            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.UserData", b =>
 11724                {
 11725                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11726                        .WithMany("UserData")
 11727                        .HasForeignKey("ItemId")
 11728                        .OnDelete(DeleteBehavior.Cascade)
 11729                        .IsRequired();
 11730
 11731                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", "User")
 11732                        .WithMany()
 11733                        .HasForeignKey("UserId")
 11734                        .OnDelete(DeleteBehavior.Cascade)
 11735                        .IsRequired();
 11736
 11737                    b.Navigation("Item");
 11738
 11739                    b.Navigation("User");
 11740                });
 1741
 11742            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemEntity", b =>
 11743                {
 11744                    b.Navigation("Chapters");
 11745
 11746                    b.Navigation("Children");
 11747
 11748                    b.Navigation("DirectChildren");
 11749
 11750                    b.Navigation("Extras");
 11751
 11752                    b.Navigation("Images");
 11753
 11754                    b.Navigation("ItemValues");
 11755
 11756                    b.Navigation("LinkedChildEntities");
 11757
 11758                    b.Navigation("LinkedChildOfEntities");
 11759
 11760                    b.Navigation("LockedFields");
 11761
 11762                    b.Navigation("MediaStreams");
 11763
 11764                    b.Navigation("Parents");
 11765
 11766                    b.Navigation("Peoples");
 11767
 11768                    b.Navigation("Provider");
 11769
 11770                    b.Navigation("TrailerTypes");
 11771
 11772                    b.Navigation("UserData");
 11773                });
 1774
 11775            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.DisplayPreferences", b =>
 11776                {
 11777                    b.Navigation("HomeSections");
 11778                });
 1779
 11780            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemValue", b =>
 11781                {
 11782                    b.Navigation("BaseItemsMap");
 11783                });
 1784
 11785            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.People", b =>
 11786                {
 11787                    b.Navigation("BaseItems");
 11788                });
 1789
 11790            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.User", b =>
 11791                {
 11792                    b.Navigation("AccessSchedules");
 11793
 11794                    b.Navigation("DisplayPreferences");
 11795
 11796                    b.Navigation("ItemDisplayPreferences");
 11797
 11798                    b.Navigation("Permissions");
 11799
 11800                    b.Navigation("Preferences");
 11801
 11802                    b.Navigation("ProfileImage");
 11803                });
 1804#pragma warning restore 612, 618
 11805        }
 1806    }
 1807}