//
using System;
using ErsatzTV.Infrastructure.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace ErsatzTV.Infrastructure.Migrations
{
[DbContext(typeof(TvContext))]
partial class TvContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "5.0.11");
modelBuilder.Entity("ErsatzTV.Core.Domain.Actor", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ArtistMetadataId")
.HasColumnType("INTEGER");
b.Property("ArtworkId")
.HasColumnType("INTEGER");
b.Property("EpisodeMetadataId")
.HasColumnType("INTEGER");
b.Property("MovieMetadataId")
.HasColumnType("INTEGER");
b.Property("MusicVideoMetadataId")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("Order")
.HasColumnType("INTEGER");
b.Property("OtherVideoMetadataId")
.HasColumnType("INTEGER");
b.Property("Role")
.HasColumnType("TEXT");
b.Property("SeasonMetadataId")
.HasColumnType("INTEGER");
b.Property("ShowMetadataId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ArtistMetadataId");
b.HasIndex("ArtworkId")
.IsUnique();
b.HasIndex("EpisodeMetadataId");
b.HasIndex("MovieMetadataId");
b.HasIndex("MusicVideoMetadataId");
b.HasIndex("OtherVideoMetadataId");
b.HasIndex("SeasonMetadataId");
b.HasIndex("ShowMetadataId");
b.ToTable("Actor");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.ArtistMetadata", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ArtistId")
.HasColumnType("INTEGER");
b.Property("Biography")
.HasColumnType("TEXT");
b.Property("DateAdded")
.HasColumnType("TEXT");
b.Property("DateUpdated")
.HasColumnType("TEXT");
b.Property("Disambiguation")
.HasColumnType("TEXT");
b.Property("Formed")
.HasColumnType("TEXT");
b.Property("MetadataKind")
.HasColumnType("INTEGER");
b.Property("OriginalTitle")
.HasColumnType("TEXT");
b.Property("ReleaseDate")
.HasColumnType("TEXT");
b.Property("SortTitle")
.HasColumnType("TEXT");
b.Property("Title")
.HasColumnType("TEXT");
b.Property("Year")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ArtistId");
b.ToTable("ArtistMetadata");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Artwork", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ArtistMetadataId")
.HasColumnType("INTEGER");
b.Property("ArtworkKind")
.HasColumnType("INTEGER");
b.Property("ChannelId")
.HasColumnType("INTEGER");
b.Property("DateAdded")
.HasColumnType("TEXT");
b.Property("DateUpdated")
.HasColumnType("TEXT");
b.Property("EpisodeMetadataId")
.HasColumnType("INTEGER");
b.Property("MovieMetadataId")
.HasColumnType("INTEGER");
b.Property("MusicVideoMetadataId")
.HasColumnType("INTEGER");
b.Property("OtherVideoMetadataId")
.HasColumnType("INTEGER");
b.Property("Path")
.HasColumnType("TEXT");
b.Property("SeasonMetadataId")
.HasColumnType("INTEGER");
b.Property("ShowMetadataId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ArtistMetadataId");
b.HasIndex("ChannelId");
b.HasIndex("EpisodeMetadataId");
b.HasIndex("MovieMetadataId");
b.HasIndex("MusicVideoMetadataId");
b.HasIndex("OtherVideoMetadataId");
b.HasIndex("SeasonMetadataId");
b.HasIndex("ShowMetadataId");
b.ToTable("Artwork");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("FFmpegProfileId")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("Number")
.HasColumnType("TEXT");
b.Property("PreferredLanguageCode")
.HasColumnType("TEXT");
b.Property("StreamingMode")
.HasColumnType("INTEGER");
b.Property("UniqueId")
.HasColumnType("TEXT");
b.Property("WatermarkId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("FFmpegProfileId");
b.HasIndex("Number")
.IsUnique();
b.HasIndex("WatermarkId");
b.ToTable("Channel");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.ChannelWatermark", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("DurationSeconds")
.HasColumnType("INTEGER");
b.Property("FrequencyMinutes")
.HasColumnType("INTEGER");
b.Property("HorizontalMarginPercent")
.HasColumnType("INTEGER");
b.Property("Image")
.HasColumnType("TEXT");
b.Property("ImageSource")
.HasColumnType("INTEGER");
b.Property("Location")
.HasColumnType("INTEGER");
b.Property("Mode")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("Opacity")
.HasColumnType("INTEGER");
b.Property("Size")
.HasColumnType("INTEGER");
b.Property("VerticalMarginPercent")
.HasColumnType("INTEGER");
b.Property("WidthPercent")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("ChannelWatermark");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Collection", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("UseCustomPlaybackOrder")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("Collection");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.CollectionItem", b =>
{
b.Property("CollectionId")
.HasColumnType("INTEGER");
b.Property("MediaItemId")
.HasColumnType("INTEGER");
b.Property("CustomIndex")
.HasColumnType("INTEGER");
b.HasKey("CollectionId", "MediaItemId");
b.HasIndex("MediaItemId");
b.ToTable("CollectionItem");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.ConfigElement", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Key")
.HasColumnType("TEXT");
b.Property("Value")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("Key")
.IsUnique();
b.ToTable("ConfigElement");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Director", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("EpisodeMetadataId")
.HasColumnType("INTEGER");
b.Property("MovieMetadataId")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("EpisodeMetadataId");
b.HasIndex("MovieMetadataId");
b.ToTable("Director");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyConnection", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Address")
.HasColumnType("TEXT");
b.Property("EmbyMediaSourceId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("EmbyMediaSourceId");
b.ToTable("EmbyConnection");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyPathReplacement", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("EmbyMediaSourceId")
.HasColumnType("INTEGER");
b.Property("EmbyPath")
.HasColumnType("TEXT");
b.Property("LocalPath")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("EmbyMediaSourceId");
b.ToTable("EmbyPathReplacement");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.EpisodeMetadata", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("DateAdded")
.HasColumnType("TEXT");
b.Property("DateUpdated")
.HasColumnType("TEXT");
b.Property("EpisodeId")
.HasColumnType("INTEGER");
b.Property("EpisodeNumber")
.HasColumnType("INTEGER");
b.Property("MetadataKind")
.HasColumnType("INTEGER");
b.Property("OriginalTitle")
.HasColumnType("TEXT");
b.Property("Outline")
.HasColumnType("TEXT");
b.Property("Plot")
.HasColumnType("TEXT");
b.Property("ReleaseDate")
.HasColumnType("TEXT");
b.Property("SortTitle")
.HasColumnType("TEXT");
b.Property("Tagline")
.HasColumnType("TEXT");
b.Property("Title")
.HasColumnType("TEXT");
b.Property("Year")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("EpisodeId");
b.ToTable("EpisodeMetadata");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.FFmpegProfile", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("AudioBitrate")
.HasColumnType("INTEGER");
b.Property("AudioBufferSize")
.HasColumnType("INTEGER");
b.Property("AudioChannels")
.HasColumnType("INTEGER");
b.Property("AudioCodec")
.HasColumnType("TEXT");
b.Property("AudioSampleRate")
.HasColumnType("INTEGER");
b.Property("HardwareAcceleration")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("NormalizeAudio")
.HasColumnType("INTEGER");
b.Property("NormalizeLoudness")
.HasColumnType("INTEGER");
b.Property("NormalizeVideo")
.HasColumnType("INTEGER");
b.Property("ResolutionId")
.HasColumnType("INTEGER");
b.Property("ThreadCount")
.HasColumnType("INTEGER");
b.Property("Transcode")
.HasColumnType("INTEGER");
b.Property("VaapiDevice")
.HasColumnType("TEXT");
b.Property("VaapiDriver")
.HasColumnType("INTEGER");
b.Property("VideoBitrate")
.HasColumnType("INTEGER");
b.Property("VideoBufferSize")
.HasColumnType("INTEGER");
b.Property("VideoCodec")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("ResolutionId");
b.ToTable("FFmpegProfile");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Genre", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ArtistMetadataId")
.HasColumnType("INTEGER");
b.Property("EpisodeMetadataId")
.HasColumnType("INTEGER");
b.Property("MovieMetadataId")
.HasColumnType("INTEGER");
b.Property("MusicVideoMetadataId")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("OtherVideoMetadataId")
.HasColumnType("INTEGER");
b.Property("SeasonMetadataId")
.HasColumnType("INTEGER");
b.Property("ShowMetadataId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ArtistMetadataId");
b.HasIndex("EpisodeMetadataId");
b.HasIndex("MovieMetadataId");
b.HasIndex("MusicVideoMetadataId");
b.HasIndex("OtherVideoMetadataId");
b.HasIndex("SeasonMetadataId");
b.HasIndex("ShowMetadataId");
b.ToTable("Genre");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinConnection", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Address")
.HasColumnType("TEXT");
b.Property("JellyfinMediaSourceId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("JellyfinMediaSourceId");
b.ToTable("JellyfinConnection");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinPathReplacement", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("JellyfinMediaSourceId")
.HasColumnType("INTEGER");
b.Property("JellyfinPath")
.HasColumnType("TEXT");
b.Property("LocalPath")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("JellyfinMediaSourceId");
b.ToTable("JellyfinPathReplacement");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.LanguageCode", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("EnglishName")
.HasColumnType("TEXT");
b.Property("FrenchName")
.HasColumnType("TEXT");
b.Property("ThreeCode1")
.HasColumnType("TEXT");
b.Property("ThreeCode2")
.HasColumnType("TEXT");
b.Property("TwoCode")
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("LanguageCode");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Library", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("LastScan")
.HasColumnType("TEXT");
b.Property("MediaKind")
.HasColumnType("INTEGER");
b.Property("MediaSourceId")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("MediaSourceId");
b.ToTable("Library");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryFolder", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Etag")
.HasColumnType("TEXT");
b.Property("LibraryPathId")
.HasColumnType("INTEGER");
b.Property("Path")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("LibraryPathId");
b.ToTable("LibraryFolder");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryPath", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("LastScan")
.HasColumnType("TEXT");
b.Property("LibraryId")
.HasColumnType("INTEGER");
b.Property("Path")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("LibraryId");
b.ToTable("LibraryPath");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaFile", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("MediaVersionId")
.HasColumnType("INTEGER");
b.Property("Path")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("MediaVersionId");
b.HasIndex("Path")
.IsUnique();
b.ToTable("MediaFile");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("LibraryPathId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("LibraryPathId");
b.ToTable("MediaItem");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaSource", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("MediaSource");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaStream", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("BitsPerRawSample")
.HasColumnType("INTEGER");
b.Property("Channels")
.HasColumnType("INTEGER");
b.Property("Codec")
.HasColumnType("TEXT");
b.Property("Default")
.HasColumnType("INTEGER");
b.Property("Forced")
.HasColumnType("INTEGER");
b.Property("Index")
.HasColumnType("INTEGER");
b.Property("Language")
.HasColumnType("TEXT");
b.Property("MediaStreamKind")
.HasColumnType("INTEGER");
b.Property("MediaVersionId")
.HasColumnType("INTEGER");
b.Property("PixelFormat")
.HasColumnType("TEXT");
b.Property("Profile")
.HasColumnType("TEXT");
b.Property("Title")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("MediaVersionId");
b.ToTable("MediaStream");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaVersion", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("DateAdded")
.HasColumnType("TEXT");
b.Property("DateUpdated")
.HasColumnType("TEXT");
b.Property("DisplayAspectRatio")
.HasColumnType("TEXT");
b.Property("Duration")
.HasColumnType("TEXT");
b.Property("EpisodeId")
.HasColumnType("INTEGER");
b.Property("Height")
.HasColumnType("INTEGER");
b.Property("MovieId")
.HasColumnType("INTEGER");
b.Property("MusicVideoId")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.Property("OtherVideoId")
.HasColumnType("INTEGER");
b.Property("RFrameRate")
.HasColumnType("TEXT");
b.Property("SampleAspectRatio")
.HasColumnType("TEXT");
b.Property("VideoScanKind")
.HasColumnType("INTEGER");
b.Property("Width")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("EpisodeId");
b.HasIndex("MovieId");
b.HasIndex("MusicVideoId");
b.HasIndex("OtherVideoId");
b.ToTable("MediaVersion");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MetadataGuid", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ArtistMetadataId")
.HasColumnType("INTEGER");
b.Property("EpisodeMetadataId")
.HasColumnType("INTEGER");
b.Property("Guid")
.HasColumnType("TEXT");
b.Property("MovieMetadataId")
.HasColumnType("INTEGER");
b.Property("MusicVideoMetadataId")
.HasColumnType("INTEGER");
b.Property("OtherVideoMetadataId")
.HasColumnType("INTEGER");
b.Property("SeasonMetadataId")
.HasColumnType("INTEGER");
b.Property("ShowMetadataId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ArtistMetadataId");
b.HasIndex("EpisodeMetadataId");
b.HasIndex("MovieMetadataId");
b.HasIndex("MusicVideoMetadataId");
b.HasIndex("OtherVideoMetadataId");
b.HasIndex("SeasonMetadataId");
b.HasIndex("ShowMetadataId");
b.ToTable("MetadataGuid");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Mood", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ArtistMetadataId")
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("ArtistMetadataId");
b.ToTable("Mood");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ContentRating")
.HasColumnType("TEXT");
b.Property("DateAdded")
.HasColumnType("TEXT");
b.Property("DateUpdated")
.HasColumnType("TEXT");
b.Property("MetadataKind")
.HasColumnType("INTEGER");
b.Property("MovieId")
.HasColumnType("INTEGER");
b.Property("OriginalTitle")
.HasColumnType("TEXT");
b.Property("Outline")
.HasColumnType("TEXT");
b.Property("Plot")
.HasColumnType("TEXT");
b.Property("ReleaseDate")
.HasColumnType("TEXT");
b.Property("SortTitle")
.HasColumnType("TEXT");
b.Property("Tagline")
.HasColumnType("TEXT");
b.Property("Title")
.HasColumnType("TEXT");
b.Property("Year")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("MovieId");
b.ToTable("MovieMetadata");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollection", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Name")
.HasColumnType("TEXT");
b.HasKey("Id");
b.ToTable("MultiCollection");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollectionItem", b =>
{
b.Property("MultiCollectionId")
.HasColumnType("INTEGER");
b.Property("CollectionId")
.HasColumnType("INTEGER");
b.Property("PlaybackOrder")
.HasColumnType("INTEGER");
b.Property("ScheduleAsGroup")
.HasColumnType("INTEGER");
b.HasKey("MultiCollectionId", "CollectionId");
b.HasIndex("CollectionId");
b.ToTable("MultiCollectionItem");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollectionSmartItem", b =>
{
b.Property("MultiCollectionId")
.HasColumnType("INTEGER");
b.Property("SmartCollectionId")
.HasColumnType("INTEGER");
b.Property("PlaybackOrder")
.HasColumnType("INTEGER");
b.Property("ScheduleAsGroup")
.HasColumnType("INTEGER");
b.HasKey("MultiCollectionId", "SmartCollectionId");
b.HasIndex("SmartCollectionId");
b.ToTable("MultiCollectionSmartItem");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.MusicVideoMetadata", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Album")
.HasColumnType("TEXT");
b.Property("DateAdded")
.HasColumnType("TEXT");
b.Property("DateUpdated")
.HasColumnType("TEXT");
b.Property("MetadataKind")
.HasColumnType("INTEGER");
b.Property("MusicVideoId")
.HasColumnType("INTEGER");
b.Property("OriginalTitle")
.HasColumnType("TEXT");
b.Property("Plot")
.HasColumnType("TEXT");
b.Property("ReleaseDate")
.HasColumnType("TEXT");
b.Property("SortTitle")
.HasColumnType("TEXT");
b.Property("Title")
.HasColumnType("TEXT");
b.Property("Year")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("MusicVideoId");
b.ToTable("MusicVideoMetadata");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.OtherVideoMetadata", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("DateAdded")
.HasColumnType("TEXT");
b.Property("DateUpdated")
.HasColumnType("TEXT");
b.Property("MetadataKind")
.HasColumnType("INTEGER");
b.Property("OriginalTitle")
.HasColumnType("TEXT");
b.Property("OtherVideoId")
.HasColumnType("INTEGER");
b.Property("ReleaseDate")
.HasColumnType("TEXT");
b.Property("SortTitle")
.HasColumnType("TEXT");
b.Property("Title")
.HasColumnType("TEXT");
b.Property("Year")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("OtherVideoId");
b.ToTable("OtherVideoMetadata");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ChannelId")
.HasColumnType("INTEGER");
b.Property("DailyRebuildTime")
.HasColumnType("TEXT");
b.Property("ProgramScheduleId")
.HasColumnType("INTEGER");
b.Property("ProgramSchedulePlayoutType")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("ChannelId");
b.HasIndex("ProgramScheduleId");
b.ToTable("Playout");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CustomGroup")
.HasColumnType("INTEGER");
b.Property("CustomTitle")
.HasColumnType("TEXT");
b.Property("Finish")
.HasColumnType("TEXT");
b.Property("GuideFinish")
.HasColumnType("TEXT");
b.Property("IsFiller")
.HasColumnType("INTEGER");
b.Property("MediaItemId")
.HasColumnType("INTEGER");
b.Property("PlayoutId")
.HasColumnType("INTEGER");
b.Property("Start")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("MediaItemId");
b.HasIndex("PlayoutId");
b.ToTable("PlayoutItem");
});
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property