#pragma warning disable CS1591 // using System; using Jellyfin.Server.Implementations; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace Jellyfin.Server.Implementations.Migrations { [DbContext(typeof(JellyfinDb))] [Migration("20200430215054_InitialSchema")] partial class InitialSchema { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("jellyfin") .HasAnnotation("ProductVersion", "3.1.3"); modelBuilder.Entity("Jellyfin.Data.Entities.ActivityLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("DateCreated") .HasColumnType("TEXT"); b.Property("ItemId") .HasColumnType("TEXT") .HasMaxLength(256); b.Property("LogSeverity") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(512); b.Property("Overview") .HasColumnType("TEXT") .HasMaxLength(512); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("ShortOverview") .HasColumnType("TEXT") .HasMaxLength(512); b.Property("Type") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(256); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("ActivityLog"); }); modelBuilder.Entity("Jellyfin.Data.Entities.Artwork", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Kind") .HasColumnType("INTEGER"); b.Property("Path") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("PersonRole_PersonRoles_Id") .HasColumnType("INTEGER"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Chapter_Chapters_Id") .HasColumnType("INTEGER"); b.Property("Language") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(3); b.Property("Name") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("TimeEnd") .HasColumnType("INTEGER"); b.Property("TimeStart") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("Chapter_Chapters_Id"); b.ToTable("Chapter"); }); modelBuilder.Entity("Jellyfin.Data.Entities.Collection", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Name") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.ToTable("Collection"); }); modelBuilder.Entity("Jellyfin.Data.Entities.CollectionItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CollectionItem_CollectionItem_Id") .HasColumnType("INTEGER"); b.Property("CollectionItem_Next_Id") .HasColumnType("INTEGER"); b.Property("CollectionItem_Previous_Id") .HasColumnType("INTEGER"); b.Property("LibraryItem_Id") .HasColumnType("INTEGER"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Company_Labels_Id") .HasColumnType("INTEGER"); b.Property("Company_Networks_Id") .HasColumnType("INTEGER"); b.Property("Company_Parent_Id") .HasColumnType("INTEGER"); b.Property("Company_Publishers_Id") .HasColumnType("INTEGER"); b.Property("Company_Studios_Id") .HasColumnType("INTEGER"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(255); b.Property("PersonRole_PersonRoles_Id") .HasColumnType("INTEGER"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Group_Groups_Id") .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(255); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("Group_Groups_Id"); b.ToTable("Group"); }); modelBuilder.Entity("Jellyfin.Data.Entities.Library", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.ToTable("Library"); }); modelBuilder.Entity("Jellyfin.Data.Entities.LibraryItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("DateAdded") .HasColumnType("TEXT"); b.Property("Discriminator") .IsRequired() .HasColumnType("TEXT"); b.Property("LibraryRoot_Id") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("UrlId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("LibraryRoot_Id"); b.HasIndex("UrlId") .IsUnique(); b.ToTable("LibraryItem"); b.HasDiscriminator("Discriminator").HasValue("LibraryItem"); }); modelBuilder.Entity("Jellyfin.Data.Entities.LibraryRoot", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Library_Id") .HasColumnType("INTEGER"); b.Property("NetworkPath") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("Path") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("Library_Id"); b.ToTable("LibraryRoot"); }); modelBuilder.Entity("Jellyfin.Data.Entities.MediaFile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Kind") .HasColumnType("INTEGER"); b.Property("MediaFile_MediaFiles_Id") .HasColumnType("INTEGER"); b.Property("Path") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("MediaFile_MediaFiles_Id"); b.ToTable("MediaFile"); }); modelBuilder.Entity("Jellyfin.Data.Entities.MediaFileStream", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("MediaFileStream_MediaFileStreams_Id") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("StreamNumber") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("MediaFileStream_MediaFileStreams_Id"); b.ToTable("MediaFileStream"); }); modelBuilder.Entity("Jellyfin.Data.Entities.Metadata", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("DateAdded") .HasColumnType("TEXT"); b.Property("DateModified") .HasColumnType("TEXT"); b.Property("Discriminator") .IsRequired() .HasColumnType("TEXT"); b.Property("Language") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(3); b.Property("OriginalTitle") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("ReleaseDate") .HasColumnType("TEXT"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("SortTitle") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("Title") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(1024); b.HasKey("Id"); b.ToTable("Metadata"); b.HasDiscriminator("Discriminator").HasValue("Metadata"); }); modelBuilder.Entity("Jellyfin.Data.Entities.MetadataProvider", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.ToTable("MetadataProvider"); }); modelBuilder.Entity("Jellyfin.Data.Entities.MetadataProviderId", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("MetadataProviderId_Sources_Id") .HasColumnType("INTEGER"); b.Property("MetadataProvider_Id") .HasColumnType("INTEGER"); b.Property("PersonRole_PersonRoles_Id") .HasColumnType("INTEGER"); b.Property("ProviderId") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(255); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Kind") .HasColumnType("INTEGER"); b.Property("Permission_GroupPermissions_Id") .HasColumnType("INTEGER"); b.Property("Permission_Permissions_Id") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("DateAdded") .HasColumnType("TEXT"); b.Property("DateModified") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("SourceId") .HasColumnType("TEXT") .HasMaxLength(255); b.Property("UrlId") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Person"); }); modelBuilder.Entity("Jellyfin.Data.Entities.PersonRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Artwork_Artwork_Id") .HasColumnType("INTEGER"); b.Property("PersonRole_PersonRoles_Id") .HasColumnType("INTEGER"); b.Property("Person_Id") .HasColumnType("INTEGER"); b.Property("Role") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Kind") .HasColumnType("INTEGER"); b.Property("Preference_Preferences_Id") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ProviderData") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("ProviderMapping_ProviderMappings_Id") .HasColumnType("INTEGER"); b.Property("ProviderName") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(255); b.Property("ProviderSecrets") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("ProviderMapping_ProviderMappings_Id"); b.ToTable("ProviderMapping"); }); modelBuilder.Entity("Jellyfin.Data.Entities.Rating", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("PersonRole_PersonRoles_Id") .HasColumnType("INTEGER"); b.Property("RatingSource_RatingType_Id") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("Value") .HasColumnType("REAL"); b.Property("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("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("MaximumValue") .HasColumnType("REAL"); b.Property("MetadataProviderId_Source_Id") .HasColumnType("INTEGER"); b.Property("MinimumValue") .HasColumnType("REAL"); b.Property("Name") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("MetadataProviderId_Source_Id"); b.ToTable("RatingSource"); }); modelBuilder.Entity("Jellyfin.Data.Entities.Release", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Name") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("Release_Releases_Id") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("Release_Releases_Id"); b.ToTable("Release"); }); modelBuilder.Entity("Jellyfin.Data.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AudioLanguagePreference") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(255); b.Property("AuthenticationProviderId") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(255); b.Property("DisplayCollectionsView") .HasColumnType("INTEGER"); b.Property("DisplayMissingEpisodes") .HasColumnType("INTEGER"); b.Property("EnableNextEpisodeAutoPlay") .HasColumnType("INTEGER"); b.Property("EnableUserPreferenceAccess") .HasColumnType("INTEGER"); b.Property("GroupedFolders") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("HidePlayedInLatest") .HasColumnType("INTEGER"); b.Property("InvalidLoginAttemptCount") .HasColumnType("INTEGER"); b.Property("LatestItemExcludes") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("LoginAttemptsBeforeLockout") .HasColumnType("INTEGER"); b.Property("MustUpdatePassword") .HasColumnType("INTEGER"); b.Property("MyMediaExcludes") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("OrderedViews") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("Password") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("PlayDefaultAudioTrack") .HasColumnType("INTEGER"); b.Property("RememberAudioSelections") .HasColumnType("INTEGER"); b.Property("RememberSubtitleSelections") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("SubtitleLanguagePrefernce") .HasColumnType("TEXT") .HasMaxLength(255); b.Property("SubtitleMode") .IsRequired() .HasColumnType("TEXT") .HasMaxLength(255); b.Property("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("EpisodeNumber") .HasColumnType("INTEGER"); b.Property("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("SeasonNumber") .HasColumnType("INTEGER"); b.Property("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("AirsDayOfWeek") .HasColumnType("INTEGER"); b.Property("AirsTime") .HasColumnType("TEXT"); b.Property("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("TrackNumber") .HasColumnType("INTEGER"); b.Property("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("BookMetadata_BookMetadata_Id") .HasColumnType("INTEGER"); b.Property("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("CompanyMetadata_CompanyMetadata_Id") .HasColumnType("INTEGER"); b.Property("Country") .HasColumnType("TEXT") .HasMaxLength(2); b.Property("Description") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("Headquarters") .HasColumnType("TEXT") .HasMaxLength(255); b.Property("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("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("EpisodeMetadata_EpisodeMetadata_Id") .HasColumnType("INTEGER"); b.Property("Outline") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("Plot") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("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("Country") .HasColumnName("MovieMetadata_Country") .HasColumnType("TEXT") .HasMaxLength(2); b.Property("MovieMetadata_MovieMetadata_Id") .HasColumnType("INTEGER"); b.Property("Outline") .HasColumnName("MovieMetadata_Outline") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("Plot") .HasColumnName("MovieMetadata_Plot") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("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("Barcode") .HasColumnType("TEXT") .HasMaxLength(255); b.Property("Country") .HasColumnName("MusicAlbumMetadata_Country") .HasColumnType("TEXT") .HasMaxLength(2); b.Property("LabelNumber") .HasColumnType("TEXT") .HasMaxLength(255); b.Property("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("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("Outline") .HasColumnName("SeasonMetadata_Outline") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("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("Country") .HasColumnName("SeriesMetadata_Country") .HasColumnType("TEXT") .HasMaxLength(2); b.Property("Outline") .HasColumnName("SeriesMetadata_Outline") .HasColumnType("TEXT") .HasMaxLength(1024); b.Property("Plot") .HasColumnName("SeriesMetadata_Plot") .HasColumnType("TEXT") .HasMaxLength(65535); b.Property("SeriesMetadata_SeriesMetadata_Id") .HasColumnType("INTEGER"); b.Property("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("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 } } }