You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jellyfin/Jellyfin.Server.Implementat.../Migrations/JellyfinDbModelSnapshot.cs

1512 lines
54 KiB

#pragma warning disable CS1591
// <auto-generated />
using System;
using Jellyfin.Server.Implementations;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace Jellyfin.Server.Implementations.Migrations
{
[DbContext(typeof(JellyfinDb))]
partial class JellyfinDbModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasDefaultSchema("jellyfin")
.HasAnnotation("ProductVersion", "3.1.3");
modelBuilder.Entity("Jellyfin.Data.Entities.ActivityLog", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<DateTime>("DateCreated")
.HasColumnType("TEXT");
b.Property<string>("ItemId")
.HasColumnType("TEXT")
.HasMaxLength(256);
b.Property<int>("LogSeverity")
.HasColumnType("INTEGER");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(512);
b.Property<string>("Overview")
.HasColumnType("TEXT")
.HasMaxLength(512);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<string>("ShortOverview")
.HasColumnType("TEXT")
.HasMaxLength(512);
b.Property<string>("Type")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(256);
b.Property<Guid>("UserId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("ActivityLog");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Artwork", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("Kind")
.HasColumnType("INTEGER");
b.Property<string>("Path")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<int?>("PersonRole_PersonRoles_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Kind");
b.HasIndex("PersonRole_PersonRoles_Id");
b.ToTable("Artwork");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Chapter", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("Chapter_Chapters_Id")
.HasColumnType("INTEGER");
b.Property<string>("Language")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(3);
b.Property<string>("Name")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<long?>("TimeEnd")
.HasColumnType("INTEGER");
b.Property<long>("TimeStart")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Chapter_Chapters_Id");
b.ToTable("Chapter");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Collection", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("Name")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("Collection");
});
modelBuilder.Entity("Jellyfin.Data.Entities.CollectionItem", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("CollectionItem_CollectionItem_Id")
.HasColumnType("INTEGER");
b.Property<int?>("CollectionItem_Next_Id")
.HasColumnType("INTEGER");
b.Property<int?>("CollectionItem_Previous_Id")
.HasColumnType("INTEGER");
b.Property<int?>("LibraryItem_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("CollectionItem_CollectionItem_Id");
b.HasIndex("CollectionItem_Next_Id");
b.HasIndex("CollectionItem_Previous_Id");
b.HasIndex("LibraryItem_Id");
b.ToTable("CollectionItem");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Company", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("Company_Labels_Id")
.HasColumnType("INTEGER");
b.Property<int?>("Company_Networks_Id")
.HasColumnType("INTEGER");
b.Property<int?>("Company_Parent_Id")
.HasColumnType("INTEGER");
b.Property<int?>("Company_Publishers_Id")
.HasColumnType("INTEGER");
b.Property<int?>("Company_Studios_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Company_Labels_Id");
b.HasIndex("Company_Networks_Id");
b.HasIndex("Company_Parent_Id");
b.HasIndex("Company_Publishers_Id");
b.HasIndex("Company_Studios_Id");
b.ToTable("Company");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Genre", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<int?>("PersonRole_PersonRoles_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.HasIndex("PersonRole_PersonRoles_Id");
b.ToTable("Genre");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Group", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("Group_Groups_Id")
.HasColumnType("INTEGER");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Group_Groups_Id");
b.ToTable("Group");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Library", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("Library");
});
modelBuilder.Entity("Jellyfin.Data.Entities.LibraryItem", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<DateTime>("DateAdded")
.HasColumnType("TEXT");
b.Property<string>("Discriminator")
.IsRequired()
.HasColumnType("TEXT");
b.Property<int?>("LibraryRoot_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<Guid>("UrlId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("LibraryRoot_Id");
b.HasIndex("UrlId")
.IsUnique();
b.ToTable("LibraryItem");
b.HasDiscriminator<string>("Discriminator").HasValue("LibraryItem");
});
modelBuilder.Entity("Jellyfin.Data.Entities.LibraryRoot", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("Library_Id")
.HasColumnType("INTEGER");
b.Property<string>("NetworkPath")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<string>("Path")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Library_Id");
b.ToTable("LibraryRoot");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MediaFile", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("Kind")
.HasColumnType("INTEGER");
b.Property<int?>("MediaFile_MediaFiles_Id")
.HasColumnType("INTEGER");
b.Property<string>("Path")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("MediaFile_MediaFiles_Id");
b.ToTable("MediaFile");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MediaFileStream", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("MediaFileStream_MediaFileStreams_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<int>("StreamNumber")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("MediaFileStream_MediaFileStreams_Id");
b.ToTable("MediaFileStream");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Metadata", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<DateTime>("DateAdded")
.HasColumnType("TEXT");
b.Property<DateTime>("DateModified")
.HasColumnType("TEXT");
b.Property<string>("Discriminator")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("Language")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(3);
b.Property<string>("OriginalTitle")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<DateTimeOffset?>("ReleaseDate")
.HasColumnType("TEXT");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<string>("SortTitle")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<string>("Title")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.HasKey("Id");
b.ToTable("Metadata");
b.HasDiscriminator<string>("Discriminator").HasValue("Metadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MetadataProvider", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("MetadataProvider");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MetadataProviderId", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("MetadataProviderId_Sources_Id")
.HasColumnType("INTEGER");
b.Property<int?>("MetadataProvider_Id")
.HasColumnType("INTEGER");
b.Property<int?>("PersonRole_PersonRoles_Id")
.HasColumnType("INTEGER");
b.Property<string>("ProviderId")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("MetadataProviderId_Sources_Id");
b.HasIndex("MetadataProvider_Id");
b.HasIndex("PersonRole_PersonRoles_Id");
b.ToTable("MetadataProviderId");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("Kind")
.HasColumnType("INTEGER");
b.Property<int?>("Permission_GroupPermissions_Id")
.HasColumnType("INTEGER");
b.Property<int?>("Permission_Permissions_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<bool>("Value")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Permission_GroupPermissions_Id");
b.HasIndex("Permission_Permissions_Id");
b.ToTable("Permission");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Person", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<DateTime>("DateAdded")
.HasColumnType("TEXT");
b.Property<DateTime>("DateModified")
.HasColumnType("TEXT");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<string>("SourceId")
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<Guid>("UrlId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("Person");
});
modelBuilder.Entity("Jellyfin.Data.Entities.PersonRole", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("Artwork_Artwork_Id")
.HasColumnType("INTEGER");
b.Property<int?>("PersonRole_PersonRoles_Id")
.HasColumnType("INTEGER");
b.Property<int?>("Person_Id")
.HasColumnType("INTEGER");
b.Property<string>("Role")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<int>("Type")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Artwork_Artwork_Id");
b.HasIndex("PersonRole_PersonRoles_Id");
b.HasIndex("Person_Id");
b.ToTable("PersonRole");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("Kind")
.HasColumnType("INTEGER");
b.Property<int?>("Preference_Preferences_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<string>("Value")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.HasKey("Id");
b.HasIndex("Preference_Preferences_Id");
b.ToTable("Preference");
});
modelBuilder.Entity("Jellyfin.Data.Entities.ProviderMapping", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("ProviderData")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<int?>("ProviderMapping_ProviderMappings_Id")
.HasColumnType("INTEGER");
b.Property<string>("ProviderName")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<string>("ProviderSecrets")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ProviderMapping_ProviderMappings_Id");
b.ToTable("ProviderMapping");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Rating", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int?>("PersonRole_PersonRoles_Id")
.HasColumnType("INTEGER");
b.Property<int?>("RatingSource_RatingType_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<double>("Value")
.HasColumnType("REAL");
b.Property<int?>("Votes")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("PersonRole_PersonRoles_Id");
b.HasIndex("RatingSource_RatingType_Id");
b.ToTable("Rating");
});
modelBuilder.Entity("Jellyfin.Data.Entities.RatingSource", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<double>("MaximumValue")
.HasColumnType("REAL");
b.Property<int?>("MetadataProviderId_Source_Id")
.HasColumnType("INTEGER");
b.Property<double>("MinimumValue")
.HasColumnType("REAL");
b.Property<string>("Name")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("MetadataProviderId_Source_Id");
b.ToTable("RatingSource");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Release", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("Name")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<int?>("Release_Releases_Id")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("Release_Releases_Id");
b.ToTable("Release");
});
modelBuilder.Entity("Jellyfin.Data.Entities.User", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("AudioLanguagePreference")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<string>("AuthenticationProviderId")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<bool?>("DisplayCollectionsView")
.HasColumnType("INTEGER");
b.Property<bool?>("DisplayMissingEpisodes")
.HasColumnType("INTEGER");
b.Property<bool?>("EnableNextEpisodeAutoPlay")
.HasColumnType("INTEGER");
b.Property<bool?>("EnableUserPreferenceAccess")
.HasColumnType("INTEGER");
b.Property<string>("GroupedFolders")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<bool?>("HidePlayedInLatest")
.HasColumnType("INTEGER");
b.Property<int>("InvalidLoginAttemptCount")
.HasColumnType("INTEGER");
b.Property<string>("LatestItemExcludes")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<int?>("LoginAttemptsBeforeLockout")
.HasColumnType("INTEGER");
b.Property<bool>("MustUpdatePassword")
.HasColumnType("INTEGER");
b.Property<string>("MyMediaExcludes")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<string>("OrderedViews")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<string>("Password")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<bool>("PlayDefaultAudioTrack")
.HasColumnType("INTEGER");
b.Property<bool?>("RememberAudioSelections")
.HasColumnType("INTEGER");
b.Property<bool?>("RememberSubtitleSelections")
.HasColumnType("INTEGER");
b.Property<uint>("RowVersion")
.IsConcurrencyToken()
.HasColumnType("INTEGER");
b.Property<string>("SubtitleLanguagePrefernce")
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<string>("SubtitleMode")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<string>("Username")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(255);
b.HasKey("Id");
b.ToTable("User");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Book", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.ToTable("Book");
b.HasDiscriminator().HasValue("Book");
});
modelBuilder.Entity("Jellyfin.Data.Entities.CustomItem", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.ToTable("LibraryItem");
b.HasDiscriminator().HasValue("CustomItem");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Episode", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.Property<int?>("EpisodeNumber")
.HasColumnType("INTEGER");
b.Property<int?>("Episode_Episodes_Id")
.HasColumnType("INTEGER");
b.HasIndex("Episode_Episodes_Id");
b.ToTable("Episode");
b.HasDiscriminator().HasValue("Episode");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Movie", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.ToTable("Movie");
b.HasDiscriminator().HasValue("Movie");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MusicAlbum", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.ToTable("MusicAlbum");
b.HasDiscriminator().HasValue("MusicAlbum");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Photo", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.ToTable("Photo");
b.HasDiscriminator().HasValue("Photo");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Season", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.Property<int?>("SeasonNumber")
.HasColumnType("INTEGER");
b.Property<int?>("Season_Seasons_Id")
.HasColumnType("INTEGER");
b.HasIndex("Season_Seasons_Id");
b.ToTable("Season");
b.HasDiscriminator().HasValue("Season");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Series", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.Property<int?>("AirsDayOfWeek")
.HasColumnType("INTEGER");
b.Property<DateTimeOffset?>("AirsTime")
.HasColumnType("TEXT");
b.Property<DateTimeOffset?>("FirstAired")
.HasColumnType("TEXT");
b.ToTable("Series");
b.HasDiscriminator().HasValue("Series");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Track", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
b.Property<int?>("TrackNumber")
.HasColumnType("INTEGER");
b.Property<int?>("Track_Tracks_Id")
.HasColumnType("INTEGER");
b.HasIndex("Track_Tracks_Id");
b.ToTable("Track");
b.HasDiscriminator().HasValue("Track");
});
modelBuilder.Entity("Jellyfin.Data.Entities.BookMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<int?>("BookMetadata_BookMetadata_Id")
.HasColumnType("INTEGER");
b.Property<long?>("ISBN")
.HasColumnType("INTEGER");
b.HasIndex("BookMetadata_BookMetadata_Id");
b.ToTable("Metadata");
b.HasDiscriminator().HasValue("BookMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.CompanyMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<int?>("CompanyMetadata_CompanyMetadata_Id")
.HasColumnType("INTEGER");
b.Property<string>("Country")
.HasColumnType("TEXT")
.HasMaxLength(2);
b.Property<string>("Description")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<string>("Headquarters")
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<string>("Homepage")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.HasIndex("CompanyMetadata_CompanyMetadata_Id");
b.ToTable("CompanyMetadata");
b.HasDiscriminator().HasValue("CompanyMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.CustomItemMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<int?>("CustomItemMetadata_CustomItemMetadata_Id")
.HasColumnType("INTEGER");
b.HasIndex("CustomItemMetadata_CustomItemMetadata_Id");
b.ToTable("CustomItemMetadata");
b.HasDiscriminator().HasValue("CustomItemMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.EpisodeMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<int?>("EpisodeMetadata_EpisodeMetadata_Id")
.HasColumnType("INTEGER");
b.Property<string>("Outline")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<string>("Plot")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<string>("Tagline")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.HasIndex("EpisodeMetadata_EpisodeMetadata_Id");
b.ToTable("EpisodeMetadata");
b.HasDiscriminator().HasValue("EpisodeMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MovieMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<string>("Country")
.HasColumnName("MovieMetadata_Country")
.HasColumnType("TEXT")
.HasMaxLength(2);
b.Property<int?>("MovieMetadata_MovieMetadata_Id")
.HasColumnType("INTEGER");
b.Property<string>("Outline")
.HasColumnName("MovieMetadata_Outline")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<string>("Plot")
.HasColumnName("MovieMetadata_Plot")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<string>("Tagline")
.HasColumnName("MovieMetadata_Tagline")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.HasIndex("MovieMetadata_MovieMetadata_Id");
b.ToTable("MovieMetadata");
b.HasDiscriminator().HasValue("MovieMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MusicAlbumMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<string>("Barcode")
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<string>("Country")
.HasColumnName("MusicAlbumMetadata_Country")
.HasColumnType("TEXT")
.HasMaxLength(2);
b.Property<string>("LabelNumber")
.HasColumnType("TEXT")
.HasMaxLength(255);
b.Property<int?>("MusicAlbumMetadata_MusicAlbumMetadata_Id")
.HasColumnType("INTEGER");
b.HasIndex("MusicAlbumMetadata_MusicAlbumMetadata_Id");
b.ToTable("MusicAlbumMetadata");
b.HasDiscriminator().HasValue("MusicAlbumMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.PhotoMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<int?>("PhotoMetadata_PhotoMetadata_Id")
.HasColumnType("INTEGER");
b.HasIndex("PhotoMetadata_PhotoMetadata_Id");
b.ToTable("PhotoMetadata");
b.HasDiscriminator().HasValue("PhotoMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.SeasonMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<string>("Outline")
.HasColumnName("SeasonMetadata_Outline")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<int?>("SeasonMetadata_SeasonMetadata_Id")
.HasColumnType("INTEGER");
b.HasIndex("SeasonMetadata_SeasonMetadata_Id");
b.ToTable("SeasonMetadata");
b.HasDiscriminator().HasValue("SeasonMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.SeriesMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<string>("Country")
.HasColumnName("SeriesMetadata_Country")
.HasColumnType("TEXT")
.HasMaxLength(2);
b.Property<string>("Outline")
.HasColumnName("SeriesMetadata_Outline")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.Property<string>("Plot")
.HasColumnName("SeriesMetadata_Plot")
.HasColumnType("TEXT")
.HasMaxLength(65535);
b.Property<int?>("SeriesMetadata_SeriesMetadata_Id")
.HasColumnType("INTEGER");
b.Property<string>("Tagline")
.HasColumnName("SeriesMetadata_Tagline")
.HasColumnType("TEXT")
.HasMaxLength(1024);
b.HasIndex("SeriesMetadata_SeriesMetadata_Id");
b.ToTable("SeriesMetadata");
b.HasDiscriminator().HasValue("SeriesMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.TrackMetadata", b =>
{
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
b.Property<int?>("TrackMetadata_TrackMetadata_Id")
.HasColumnType("INTEGER");
b.HasIndex("TrackMetadata_TrackMetadata_Id");
b.ToTable("TrackMetadata");
b.HasDiscriminator().HasValue("TrackMetadata");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Artwork", b =>
{
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
.WithMany("Artwork")
.HasForeignKey("PersonRole_PersonRoles_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Chapter", b =>
{
b.HasOne("Jellyfin.Data.Entities.Release", null)
.WithMany("Chapters")
.HasForeignKey("Chapter_Chapters_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.CollectionItem", b =>
{
b.HasOne("Jellyfin.Data.Entities.Collection", null)
.WithMany("CollectionItem")
.HasForeignKey("CollectionItem_CollectionItem_Id");
b.HasOne("Jellyfin.Data.Entities.CollectionItem", "Next")
.WithMany()
.HasForeignKey("CollectionItem_Next_Id");
b.HasOne("Jellyfin.Data.Entities.CollectionItem", "Previous")
.WithMany()
.HasForeignKey("CollectionItem_Previous_Id");
b.HasOne("Jellyfin.Data.Entities.LibraryItem", "LibraryItem")
.WithMany()
.HasForeignKey("LibraryItem_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Company", b =>
{
b.HasOne("Jellyfin.Data.Entities.MusicAlbumMetadata", null)
.WithMany("Labels")
.HasForeignKey("Company_Labels_Id");
b.HasOne("Jellyfin.Data.Entities.SeriesMetadata", null)
.WithMany("Networks")
.HasForeignKey("Company_Networks_Id");
b.HasOne("Jellyfin.Data.Entities.Company", "Parent")
.WithMany()
.HasForeignKey("Company_Parent_Id");
b.HasOne("Jellyfin.Data.Entities.BookMetadata", null)
.WithMany("Publishers")
.HasForeignKey("Company_Publishers_Id");
b.HasOne("Jellyfin.Data.Entities.MovieMetadata", null)
.WithMany("Studios")
.HasForeignKey("Company_Studios_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Genre", b =>
{
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
.WithMany("Genres")
.HasForeignKey("PersonRole_PersonRoles_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Group", b =>
{
b.HasOne("Jellyfin.Data.Entities.User", null)
.WithMany("Groups")
.HasForeignKey("Group_Groups_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.LibraryItem", b =>
{
b.HasOne("Jellyfin.Data.Entities.LibraryRoot", "LibraryRoot")
.WithMany()
.HasForeignKey("LibraryRoot_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.LibraryRoot", b =>
{
b.HasOne("Jellyfin.Data.Entities.Library", "Library")
.WithMany()
.HasForeignKey("Library_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MediaFile", b =>
{
b.HasOne("Jellyfin.Data.Entities.Release", null)
.WithMany("MediaFiles")
.HasForeignKey("MediaFile_MediaFiles_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MediaFileStream", b =>
{
b.HasOne("Jellyfin.Data.Entities.MediaFile", null)
.WithMany("MediaFileStreams")
.HasForeignKey("MediaFileStream_MediaFileStreams_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MetadataProviderId", b =>
{
b.HasOne("Jellyfin.Data.Entities.Person", null)
.WithMany("Sources")
.HasForeignKey("MetadataProviderId_Sources_Id");
b.HasOne("Jellyfin.Data.Entities.PersonRole", null)
.WithMany("Sources")
.HasForeignKey("MetadataProviderId_Sources_Id");
b.HasOne("Jellyfin.Data.Entities.MetadataProvider", "MetadataProvider")
.WithMany()
.HasForeignKey("MetadataProvider_Id");
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
.WithMany("Sources")
.HasForeignKey("PersonRole_PersonRoles_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
{
b.HasOne("Jellyfin.Data.Entities.Group", null)
.WithMany("GroupPermissions")
.HasForeignKey("Permission_GroupPermissions_Id");
b.HasOne("Jellyfin.Data.Entities.User", null)
.WithMany("Permissions")
.HasForeignKey("Permission_Permissions_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.PersonRole", b =>
{
b.HasOne("Jellyfin.Data.Entities.Artwork", "Artwork")
.WithMany()
.HasForeignKey("Artwork_Artwork_Id");
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
.WithMany("PersonRoles")
.HasForeignKey("PersonRole_PersonRoles_Id");
b.HasOne("Jellyfin.Data.Entities.Person", "Person")
.WithMany()
.HasForeignKey("Person_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
{
b.HasOne("Jellyfin.Data.Entities.Group", null)
.WithMany("Preferences")
.HasForeignKey("Preference_Preferences_Id");
b.HasOne("Jellyfin.Data.Entities.User", null)
.WithMany("Preferences")
.HasForeignKey("Preference_Preferences_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.ProviderMapping", b =>
{
b.HasOne("Jellyfin.Data.Entities.Group", null)
.WithMany("ProviderMappings")
.HasForeignKey("ProviderMapping_ProviderMappings_Id");
b.HasOne("Jellyfin.Data.Entities.User", null)
.WithMany("ProviderMappings")
.HasForeignKey("ProviderMapping_ProviderMappings_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Rating", b =>
{
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
.WithMany("Ratings")
.HasForeignKey("PersonRole_PersonRoles_Id");
b.HasOne("Jellyfin.Data.Entities.RatingSource", "RatingType")
.WithMany()
.HasForeignKey("RatingSource_RatingType_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.RatingSource", b =>
{
b.HasOne("Jellyfin.Data.Entities.MetadataProviderId", "Source")
.WithMany()
.HasForeignKey("MetadataProviderId_Source_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Release", b =>
{
b.HasOne("Jellyfin.Data.Entities.Book", null)
.WithMany("Releases")
.HasForeignKey("Release_Releases_Id");
b.HasOne("Jellyfin.Data.Entities.CustomItem", null)
.WithMany("Releases")
.HasForeignKey("Release_Releases_Id")
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id1");
b.HasOne("Jellyfin.Data.Entities.Episode", null)
.WithMany("Releases")
.HasForeignKey("Release_Releases_Id")
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id2");
b.HasOne("Jellyfin.Data.Entities.Movie", null)
.WithMany("Releases")
.HasForeignKey("Release_Releases_Id")
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id3");
b.HasOne("Jellyfin.Data.Entities.Photo", null)
.WithMany("Releases")
.HasForeignKey("Release_Releases_Id")
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id4");
b.HasOne("Jellyfin.Data.Entities.Track", null)
.WithMany("Releases")
.HasForeignKey("Release_Releases_Id")
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id5");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Episode", b =>
{
b.HasOne("Jellyfin.Data.Entities.Season", null)
.WithMany("Episodes")
.HasForeignKey("Episode_Episodes_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Season", b =>
{
b.HasOne("Jellyfin.Data.Entities.Series", null)
.WithMany("Seasons")
.HasForeignKey("Season_Seasons_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.Track", b =>
{
b.HasOne("Jellyfin.Data.Entities.MusicAlbum", null)
.WithMany("Tracks")
.HasForeignKey("Track_Tracks_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.BookMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.Book", null)
.WithMany("BookMetadata")
.HasForeignKey("BookMetadata_BookMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.CompanyMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.Company", null)
.WithMany("CompanyMetadata")
.HasForeignKey("CompanyMetadata_CompanyMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.CustomItemMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.CustomItem", null)
.WithMany("CustomItemMetadata")
.HasForeignKey("CustomItemMetadata_CustomItemMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.EpisodeMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.Episode", null)
.WithMany("EpisodeMetadata")
.HasForeignKey("EpisodeMetadata_EpisodeMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MovieMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.Movie", null)
.WithMany("MovieMetadata")
.HasForeignKey("MovieMetadata_MovieMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.MusicAlbumMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.MusicAlbum", null)
.WithMany("MusicAlbumMetadata")
.HasForeignKey("MusicAlbumMetadata_MusicAlbumMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.PhotoMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.Photo", null)
.WithMany("PhotoMetadata")
.HasForeignKey("PhotoMetadata_PhotoMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.SeasonMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.Season", null)
.WithMany("SeasonMetadata")
.HasForeignKey("SeasonMetadata_SeasonMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.SeriesMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.Series", null)
.WithMany("SeriesMetadata")
.HasForeignKey("SeriesMetadata_SeriesMetadata_Id");
});
modelBuilder.Entity("Jellyfin.Data.Entities.TrackMetadata", b =>
{
b.HasOne("Jellyfin.Data.Entities.Track", null)
.WithMany("TrackMetadata")
.HasForeignKey("TrackMetadata_TrackMetadata_Id");
});
#pragma warning restore 612, 618
}
}
}