Browse Source

fix removing media server libraries (#1124)

pull/1125/head
Jason Dove 3 years ago committed by GitHub
parent
commit
ffd66f6a21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      CHANGELOG.md
  2. 20
      ErsatzTV.Infrastructure/Data/Configurations/Metadata/ArtistMetadataConfiguration.cs
  3. 22
      ErsatzTV.Infrastructure/Data/Configurations/Metadata/EpisodeMetadataConfiguration.cs
  4. 20
      ErsatzTV.Infrastructure/Data/Configurations/Metadata/MovieMetadataConfiguration.cs
  5. 18
      ErsatzTV.Infrastructure/Data/Configurations/Metadata/MusicVideoMetadataConfiguration.cs
  6. 20
      ErsatzTV.Infrastructure/Data/Configurations/Metadata/OtherVideoMetadataConfiguration.cs
  7. 22
      ErsatzTV.Infrastructure/Data/Configurations/Metadata/SeasonMetadataConfiguration.cs
  8. 4
      ErsatzTV.Infrastructure/Data/Configurations/Metadata/ShowMetadataConfiguration.cs
  9. 20
      ErsatzTV.Infrastructure/Data/Configurations/Metadata/SongMetadataConfiguration.cs
  10. 6
      ErsatzTV.Infrastructure/Data/Configurations/PlayoutProgramScheduleAnchorConfiguration.cs
  11. 4413
      ErsatzTV.Infrastructure/Migrations/20230120151742_Add_AllMetadataKeys.Designer.cs
  12. 455
      ErsatzTV.Infrastructure/Migrations/20230120151742_Add_AllMetadataKeys.cs
  13. 4414
      ErsatzTV.Infrastructure/Migrations/20230120152621_Add_AnchorSmartCollectionKey.Designer.cs
  14. 41
      ErsatzTV.Infrastructure/Migrations/20230120152621_Add_AnchorSmartCollectionKey.cs
  15. 62
      ErsatzTV.Infrastructure/Migrations/TvContextModelSnapshot.cs

1
CHANGELOG.md

@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Fix schedule editor crashing due to bad music video artist data
- Fix bug where playouts would not maintain smart collection progress on schedules that use multiple smart collections
- Fix library scanning on osx-arm64
- Fix ability to remove some media server libraries from ErsatzTV
### Changed
- Always use software pipeline for error display

20
ErsatzTV.Infrastructure/Data/Configurations/Metadata/ArtistMetadataConfiguration.cs

@ -18,6 +18,26 @@ public class ArtistMetadataConfiguration : IEntityTypeConfiguration<ArtistMetada @@ -18,6 +18,26 @@ public class ArtistMetadataConfiguration : IEntityTypeConfiguration<ArtistMetada
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Tags)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Studios)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Actors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Guids)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Subtitles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Styles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);

22
ErsatzTV.Infrastructure/Data/Configurations/Metadata/EpisodeMetadataConfiguration.cs

@ -10,19 +10,23 @@ public class EpisodeMetadataConfiguration : IEntityTypeConfiguration<EpisodeMeta @@ -10,19 +10,23 @@ public class EpisodeMetadataConfiguration : IEntityTypeConfiguration<EpisodeMeta
{
builder.ToTable("EpisodeMetadata");
builder.HasMany(em => em.Artwork)
builder.HasMany(sm => sm.Artwork)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(em => em.Actors)
builder.HasMany(sm => sm.Genres)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Directors)
builder.HasMany(sm => sm.Tags)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Writers)
builder.HasMany(sm => sm.Studios)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Actors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
@ -30,7 +34,15 @@ public class EpisodeMetadataConfiguration : IEntityTypeConfiguration<EpisodeMeta @@ -30,7 +34,15 @@ public class EpisodeMetadataConfiguration : IEntityTypeConfiguration<EpisodeMeta
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(em => em.Subtitles)
builder.HasMany(mm => mm.Subtitles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Directors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Writers)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
}

20
ErsatzTV.Infrastructure/Data/Configurations/Metadata/MovieMetadataConfiguration.cs

@ -10,39 +10,39 @@ public class MovieMetadataConfiguration : IEntityTypeConfiguration<MovieMetadata @@ -10,39 +10,39 @@ public class MovieMetadataConfiguration : IEntityTypeConfiguration<MovieMetadata
{
builder.ToTable("MovieMetadata");
builder.HasMany(mm => mm.Artwork)
builder.HasMany(sm => sm.Artwork)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Genres)
builder.HasMany(sm => sm.Genres)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Tags)
builder.HasMany(sm => sm.Tags)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Studios)
builder.HasMany(sm => sm.Studios)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Actors)
builder.HasMany(sm => sm.Actors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Directors)
builder.HasMany(mm => mm.Guids)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Writers)
builder.HasMany(mm => mm.Subtitles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Guids)
builder.HasMany(mm => mm.Directors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Subtitles)
builder.HasMany(mm => mm.Writers)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
}

18
ErsatzTV.Infrastructure/Data/Configurations/Metadata/MusicVideoMetadataConfiguration.cs

@ -10,23 +10,31 @@ public class MusicVideoMetadataConfiguration : IEntityTypeConfiguration<MusicVid @@ -10,23 +10,31 @@ public class MusicVideoMetadataConfiguration : IEntityTypeConfiguration<MusicVid
{
builder.ToTable("MusicVideoMetadata");
builder.HasMany(mm => mm.Artwork)
builder.HasMany(sm => sm.Artwork)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Genres)
builder.HasMany(sm => sm.Genres)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Tags)
builder.HasMany(sm => sm.Tags)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Studios)
builder.HasMany(sm => sm.Studios)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mvm => mvm.Subtitles)
builder.HasMany(sm => sm.Actors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Guids)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Subtitles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);

20
ErsatzTV.Infrastructure/Data/Configurations/Metadata/OtherVideoMetadataConfiguration.cs

@ -10,39 +10,39 @@ public class OtherVideoMetadataConfiguration : IEntityTypeConfiguration<OtherVid @@ -10,39 +10,39 @@ public class OtherVideoMetadataConfiguration : IEntityTypeConfiguration<OtherVid
{
builder.ToTable("OtherVideoMetadata");
builder.HasMany(ovm => ovm.Artwork)
builder.HasMany(sm => sm.Artwork)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ovm => ovm.Genres)
builder.HasMany(sm => sm.Genres)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ovm => ovm.Tags)
builder.HasMany(sm => sm.Tags)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ovm => ovm.Studios)
builder.HasMany(sm => sm.Studios)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ovm => ovm.Actors)
builder.HasMany(sm => sm.Actors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ovm => ovm.Directors)
builder.HasMany(mm => mm.Guids)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ovm => ovm.Writers)
builder.HasMany(mm => mm.Subtitles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ovm => ovm.Guids)
builder.HasMany(ovm => ovm.Directors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(ovm => ovm.Subtitles)
builder.HasMany(ovm => ovm.Writers)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
}

22
ErsatzTV.Infrastructure/Data/Configurations/Metadata/SeasonMetadataConfiguration.cs

@ -10,12 +10,32 @@ public class SeasonMetadataConfiguration : IEntityTypeConfiguration<SeasonMetada @@ -10,12 +10,32 @@ public class SeasonMetadataConfiguration : IEntityTypeConfiguration<SeasonMetada
{
builder.ToTable("SeasonMetadata");
builder.HasMany(em => em.Artwork)
builder.HasMany(sm => sm.Artwork)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Genres)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Tags)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Studios)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Actors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Guids)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Subtitles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
}
}

4
ErsatzTV.Infrastructure/Data/Configurations/Metadata/ShowMetadataConfiguration.cs

@ -33,5 +33,9 @@ public class ShowMetadataConfiguration : IEntityTypeConfiguration<ShowMetadata> @@ -33,5 +33,9 @@ public class ShowMetadataConfiguration : IEntityTypeConfiguration<ShowMetadata>
builder.HasMany(mm => mm.Guids)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Subtitles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
}
}

20
ErsatzTV.Infrastructure/Data/Configurations/Metadata/SongMetadataConfiguration.cs

@ -10,19 +10,31 @@ public class SongMetadataConfiguration : IEntityTypeConfiguration<SongMetadata> @@ -10,19 +10,31 @@ public class SongMetadataConfiguration : IEntityTypeConfiguration<SongMetadata>
{
builder.ToTable("SongMetadata");
builder.HasMany(mm => mm.Artwork)
builder.HasMany(sm => sm.Artwork)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Genres)
builder.HasMany(sm => sm.Genres)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Tags)
builder.HasMany(sm => sm.Tags)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Studios)
builder.HasMany(sm => sm.Studios)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(sm => sm.Actors)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Guids)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
builder.HasMany(mm => mm.Subtitles)
.WithOne()
.OnDelete(DeleteBehavior.Cascade);
}

6
ErsatzTV.Infrastructure/Data/Configurations/PlayoutProgramScheduleAnchorConfiguration.cs

@ -24,6 +24,12 @@ public class PlayoutProgramScheduleAnchorConfiguration : IEntityTypeConfiguratio @@ -24,6 +24,12 @@ public class PlayoutProgramScheduleAnchorConfiguration : IEntityTypeConfiguratio
.OnDelete(DeleteBehavior.Cascade)
.IsRequired(false);
builder.HasOne(i => i.SmartCollection)
.WithMany()
.HasForeignKey(i => i.SmartCollectionId)
.OnDelete(DeleteBehavior.Cascade)
.IsRequired(false);
builder.HasOne(i => i.MediaItem)
.WithMany()
.HasForeignKey(i => i.MediaItemId)

4413
ErsatzTV.Infrastructure/Migrations/20230120151742_Add_AllMetadataKeys.Designer.cs generated

File diff suppressed because it is too large Load Diff

455
ErsatzTV.Infrastructure/Migrations/20230120151742_Add_AllMetadataKeys.cs

@ -0,0 +1,455 @@ @@ -0,0 +1,455 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ErsatzTV.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class AddAllMetadataKeys : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Actor_ArtistMetadata_ArtistMetadataId",
table: "Actor");
migrationBuilder.DropForeignKey(
name: "FK_Actor_MusicVideoMetadata_MusicVideoMetadataId",
table: "Actor");
migrationBuilder.DropForeignKey(
name: "FK_Actor_SeasonMetadata_SeasonMetadataId",
table: "Actor");
migrationBuilder.DropForeignKey(
name: "FK_Actor_SongMetadata_SongMetadataId",
table: "Actor");
migrationBuilder.DropForeignKey(
name: "FK_Genre_EpisodeMetadata_EpisodeMetadataId",
table: "Genre");
migrationBuilder.DropForeignKey(
name: "FK_Genre_SeasonMetadata_SeasonMetadataId",
table: "Genre");
migrationBuilder.DropForeignKey(
name: "FK_MetadataGuid_ArtistMetadata_ArtistMetadataId",
table: "MetadataGuid");
migrationBuilder.DropForeignKey(
name: "FK_MetadataGuid_MusicVideoMetadata_MusicVideoMetadataId",
table: "MetadataGuid");
migrationBuilder.DropForeignKey(
name: "FK_MetadataGuid_SongMetadata_SongMetadataId",
table: "MetadataGuid");
migrationBuilder.DropForeignKey(
name: "FK_Studio_ArtistMetadata_ArtistMetadataId",
table: "Studio");
migrationBuilder.DropForeignKey(
name: "FK_Studio_EpisodeMetadata_EpisodeMetadataId",
table: "Studio");
migrationBuilder.DropForeignKey(
name: "FK_Studio_SeasonMetadata_SeasonMetadataId",
table: "Studio");
migrationBuilder.DropForeignKey(
name: "FK_Subtitle_ArtistMetadata_ArtistMetadataId",
table: "Subtitle");
migrationBuilder.DropForeignKey(
name: "FK_Subtitle_SeasonMetadata_SeasonMetadataId",
table: "Subtitle");
migrationBuilder.DropForeignKey(
name: "FK_Subtitle_ShowMetadata_ShowMetadataId",
table: "Subtitle");
migrationBuilder.DropForeignKey(
name: "FK_Subtitle_SongMetadata_SongMetadataId",
table: "Subtitle");
migrationBuilder.DropForeignKey(
name: "FK_Tag_ArtistMetadata_ArtistMetadataId",
table: "Tag");
migrationBuilder.DropForeignKey(
name: "FK_Tag_EpisodeMetadata_EpisodeMetadataId",
table: "Tag");
migrationBuilder.DropForeignKey(
name: "FK_Tag_SeasonMetadata_SeasonMetadataId",
table: "Tag");
migrationBuilder.AddForeignKey(
name: "FK_Actor_ArtistMetadata_ArtistMetadataId",
table: "Actor",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Actor_MusicVideoMetadata_MusicVideoMetadataId",
table: "Actor",
column: "MusicVideoMetadataId",
principalTable: "MusicVideoMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Actor_SeasonMetadata_SeasonMetadataId",
table: "Actor",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Actor_SongMetadata_SongMetadataId",
table: "Actor",
column: "SongMetadataId",
principalTable: "SongMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Genre_EpisodeMetadata_EpisodeMetadataId",
table: "Genre",
column: "EpisodeMetadataId",
principalTable: "EpisodeMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Genre_SeasonMetadata_SeasonMetadataId",
table: "Genre",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_MetadataGuid_ArtistMetadata_ArtistMetadataId",
table: "MetadataGuid",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_MetadataGuid_MusicVideoMetadata_MusicVideoMetadataId",
table: "MetadataGuid",
column: "MusicVideoMetadataId",
principalTable: "MusicVideoMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_MetadataGuid_SongMetadata_SongMetadataId",
table: "MetadataGuid",
column: "SongMetadataId",
principalTable: "SongMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Studio_ArtistMetadata_ArtistMetadataId",
table: "Studio",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Studio_EpisodeMetadata_EpisodeMetadataId",
table: "Studio",
column: "EpisodeMetadataId",
principalTable: "EpisodeMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Studio_SeasonMetadata_SeasonMetadataId",
table: "Studio",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Subtitle_ArtistMetadata_ArtistMetadataId",
table: "Subtitle",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Subtitle_SeasonMetadata_SeasonMetadataId",
table: "Subtitle",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Subtitle_ShowMetadata_ShowMetadataId",
table: "Subtitle",
column: "ShowMetadataId",
principalTable: "ShowMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Subtitle_SongMetadata_SongMetadataId",
table: "Subtitle",
column: "SongMetadataId",
principalTable: "SongMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Tag_ArtistMetadata_ArtistMetadataId",
table: "Tag",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Tag_EpisodeMetadata_EpisodeMetadataId",
table: "Tag",
column: "EpisodeMetadataId",
principalTable: "EpisodeMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_Tag_SeasonMetadata_SeasonMetadataId",
table: "Tag",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Actor_ArtistMetadata_ArtistMetadataId",
table: "Actor");
migrationBuilder.DropForeignKey(
name: "FK_Actor_MusicVideoMetadata_MusicVideoMetadataId",
table: "Actor");
migrationBuilder.DropForeignKey(
name: "FK_Actor_SeasonMetadata_SeasonMetadataId",
table: "Actor");
migrationBuilder.DropForeignKey(
name: "FK_Actor_SongMetadata_SongMetadataId",
table: "Actor");
migrationBuilder.DropForeignKey(
name: "FK_Genre_EpisodeMetadata_EpisodeMetadataId",
table: "Genre");
migrationBuilder.DropForeignKey(
name: "FK_Genre_SeasonMetadata_SeasonMetadataId",
table: "Genre");
migrationBuilder.DropForeignKey(
name: "FK_MetadataGuid_ArtistMetadata_ArtistMetadataId",
table: "MetadataGuid");
migrationBuilder.DropForeignKey(
name: "FK_MetadataGuid_MusicVideoMetadata_MusicVideoMetadataId",
table: "MetadataGuid");
migrationBuilder.DropForeignKey(
name: "FK_MetadataGuid_SongMetadata_SongMetadataId",
table: "MetadataGuid");
migrationBuilder.DropForeignKey(
name: "FK_Studio_ArtistMetadata_ArtistMetadataId",
table: "Studio");
migrationBuilder.DropForeignKey(
name: "FK_Studio_EpisodeMetadata_EpisodeMetadataId",
table: "Studio");
migrationBuilder.DropForeignKey(
name: "FK_Studio_SeasonMetadata_SeasonMetadataId",
table: "Studio");
migrationBuilder.DropForeignKey(
name: "FK_Subtitle_ArtistMetadata_ArtistMetadataId",
table: "Subtitle");
migrationBuilder.DropForeignKey(
name: "FK_Subtitle_SeasonMetadata_SeasonMetadataId",
table: "Subtitle");
migrationBuilder.DropForeignKey(
name: "FK_Subtitle_ShowMetadata_ShowMetadataId",
table: "Subtitle");
migrationBuilder.DropForeignKey(
name: "FK_Subtitle_SongMetadata_SongMetadataId",
table: "Subtitle");
migrationBuilder.DropForeignKey(
name: "FK_Tag_ArtistMetadata_ArtistMetadataId",
table: "Tag");
migrationBuilder.DropForeignKey(
name: "FK_Tag_EpisodeMetadata_EpisodeMetadataId",
table: "Tag");
migrationBuilder.DropForeignKey(
name: "FK_Tag_SeasonMetadata_SeasonMetadataId",
table: "Tag");
migrationBuilder.AddForeignKey(
name: "FK_Actor_ArtistMetadata_ArtistMetadataId",
table: "Actor",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Actor_MusicVideoMetadata_MusicVideoMetadataId",
table: "Actor",
column: "MusicVideoMetadataId",
principalTable: "MusicVideoMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Actor_SeasonMetadata_SeasonMetadataId",
table: "Actor",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Actor_SongMetadata_SongMetadataId",
table: "Actor",
column: "SongMetadataId",
principalTable: "SongMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Genre_EpisodeMetadata_EpisodeMetadataId",
table: "Genre",
column: "EpisodeMetadataId",
principalTable: "EpisodeMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Genre_SeasonMetadata_SeasonMetadataId",
table: "Genre",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_MetadataGuid_ArtistMetadata_ArtistMetadataId",
table: "MetadataGuid",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_MetadataGuid_MusicVideoMetadata_MusicVideoMetadataId",
table: "MetadataGuid",
column: "MusicVideoMetadataId",
principalTable: "MusicVideoMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_MetadataGuid_SongMetadata_SongMetadataId",
table: "MetadataGuid",
column: "SongMetadataId",
principalTable: "SongMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Studio_ArtistMetadata_ArtistMetadataId",
table: "Studio",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Studio_EpisodeMetadata_EpisodeMetadataId",
table: "Studio",
column: "EpisodeMetadataId",
principalTable: "EpisodeMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Studio_SeasonMetadata_SeasonMetadataId",
table: "Studio",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Subtitle_ArtistMetadata_ArtistMetadataId",
table: "Subtitle",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Subtitle_SeasonMetadata_SeasonMetadataId",
table: "Subtitle",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Subtitle_ShowMetadata_ShowMetadataId",
table: "Subtitle",
column: "ShowMetadataId",
principalTable: "ShowMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Subtitle_SongMetadata_SongMetadataId",
table: "Subtitle",
column: "SongMetadataId",
principalTable: "SongMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Tag_ArtistMetadata_ArtistMetadataId",
table: "Tag",
column: "ArtistMetadataId",
principalTable: "ArtistMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Tag_EpisodeMetadata_EpisodeMetadataId",
table: "Tag",
column: "EpisodeMetadataId",
principalTable: "EpisodeMetadata",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Tag_SeasonMetadata_SeasonMetadataId",
table: "Tag",
column: "SeasonMetadataId",
principalTable: "SeasonMetadata",
principalColumn: "Id");
}
}
}

4414
ErsatzTV.Infrastructure/Migrations/20230120152621_Add_AnchorSmartCollectionKey.Designer.cs generated

File diff suppressed because it is too large Load Diff

41
ErsatzTV.Infrastructure/Migrations/20230120152621_Add_AnchorSmartCollectionKey.cs

@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ErsatzTV.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class AddAnchorSmartCollectionKey : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_PlayoutProgramScheduleAnchor_SmartCollection_SmartCollectionId",
table: "PlayoutProgramScheduleAnchor");
migrationBuilder.AddForeignKey(
name: "FK_PlayoutProgramScheduleAnchor_SmartCollection_SmartCollectionId",
table: "PlayoutProgramScheduleAnchor",
column: "SmartCollectionId",
principalTable: "SmartCollection",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_PlayoutProgramScheduleAnchor_SmartCollection_SmartCollectionId",
table: "PlayoutProgramScheduleAnchor");
migrationBuilder.AddForeignKey(
name: "FK_PlayoutProgramScheduleAnchor_SmartCollection_SmartCollectionId",
table: "PlayoutProgramScheduleAnchor",
column: "SmartCollectionId",
principalTable: "SmartCollection",
principalColumn: "Id");
}
}
}

62
ErsatzTV.Infrastructure/Migrations/TvContextModelSnapshot.cs

@ -15,7 +15,7 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -15,7 +15,7 @@ namespace ErsatzTV.Infrastructure.Migrations
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "7.0.1");
modelBuilder.HasAnnotation("ProductVersion", "7.0.2");
modelBuilder.Entity("ErsatzTV.Core.Domain.Actor", b =>
{
@ -2693,7 +2693,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -2693,7 +2693,8 @@ namespace ErsatzTV.Infrastructure.Migrations
{
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null)
.WithMany("Actors")
.HasForeignKey("ArtistMetadataId");
.HasForeignKey("ArtistMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.Artwork", "Artwork")
.WithOne()
@ -2712,7 +2713,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -2712,7 +2713,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.MusicVideoMetadata", null)
.WithMany("Actors")
.HasForeignKey("MusicVideoMetadataId");
.HasForeignKey("MusicVideoMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.OtherVideoMetadata", null)
.WithMany("Actors")
@ -2721,7 +2723,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -2721,7 +2723,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null)
.WithMany("Actors")
.HasForeignKey("SeasonMetadataId");
.HasForeignKey("SeasonMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null)
.WithMany("Actors")
@ -2730,7 +2733,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -2730,7 +2733,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.SongMetadata", null)
.WithMany("Actors")
.HasForeignKey("SongMetadataId");
.HasForeignKey("SongMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.Navigation("Artwork");
});
@ -2940,7 +2944,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -2940,7 +2944,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null)
.WithMany("Genres")
.HasForeignKey("EpisodeMetadataId");
.HasForeignKey("EpisodeMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null)
.WithMany("Genres")
@ -2959,7 +2964,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -2959,7 +2964,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null)
.WithMany("Genres")
.HasForeignKey("SeasonMetadataId");
.HasForeignKey("SeasonMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null)
.WithMany("Genres")
@ -3103,7 +3109,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3103,7 +3109,8 @@ namespace ErsatzTV.Infrastructure.Migrations
{
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null)
.WithMany("Guids")
.HasForeignKey("ArtistMetadataId");
.HasForeignKey("ArtistMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null)
.WithMany("Guids")
@ -3117,7 +3124,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3117,7 +3124,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.MusicVideoMetadata", null)
.WithMany("Guids")
.HasForeignKey("MusicVideoMetadataId");
.HasForeignKey("MusicVideoMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.OtherVideoMetadata", null)
.WithMany("Guids")
@ -3136,7 +3144,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3136,7 +3144,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.SongMetadata", null)
.WithMany("Guids")
.HasForeignKey("SongMetadataId");
.HasForeignKey("SongMetadataId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Mood", b =>
@ -3356,7 +3365,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3356,7 +3365,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.SmartCollection", "SmartCollection")
.WithMany()
.HasForeignKey("SmartCollectionId");
.HasForeignKey("SmartCollectionId")
.OnDelete(DeleteBehavior.Cascade);
b.OwnsOne("ErsatzTV.Core.Domain.CollectionEnumeratorState", "EnumeratorState", b1 =>
{
@ -3551,11 +3561,13 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3551,11 +3561,13 @@ namespace ErsatzTV.Infrastructure.Migrations
{
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null)
.WithMany("Studios")
.HasForeignKey("ArtistMetadataId");
.HasForeignKey("ArtistMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null)
.WithMany("Studios")
.HasForeignKey("EpisodeMetadataId");
.HasForeignKey("EpisodeMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null)
.WithMany("Studios")
@ -3574,7 +3586,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3574,7 +3586,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null)
.WithMany("Studios")
.HasForeignKey("SeasonMetadataId");
.HasForeignKey("SeasonMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null)
.WithMany("Studios")
@ -3599,7 +3612,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3599,7 +3612,8 @@ namespace ErsatzTV.Infrastructure.Migrations
{
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null)
.WithMany("Subtitles")
.HasForeignKey("ArtistMetadataId");
.HasForeignKey("ArtistMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null)
.WithMany("Subtitles")
@ -3623,26 +3637,31 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3623,26 +3637,31 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null)
.WithMany("Subtitles")
.HasForeignKey("SeasonMetadataId");
.HasForeignKey("SeasonMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null)
.WithMany("Subtitles")
.HasForeignKey("ShowMetadataId");
.HasForeignKey("ShowMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.SongMetadata", null)
.WithMany("Subtitles")
.HasForeignKey("SongMetadataId");
.HasForeignKey("SongMetadataId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("ErsatzTV.Core.Domain.Tag", b =>
{
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null)
.WithMany("Tags")
.HasForeignKey("ArtistMetadataId");
.HasForeignKey("ArtistMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null)
.WithMany("Tags")
.HasForeignKey("EpisodeMetadataId");
.HasForeignKey("EpisodeMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null)
.WithMany("Tags")
@ -3661,7 +3680,8 @@ namespace ErsatzTV.Infrastructure.Migrations @@ -3661,7 +3680,8 @@ namespace ErsatzTV.Infrastructure.Migrations
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null)
.WithMany("Tags")
.HasForeignKey("SeasonMetadataId");
.HasForeignKey("SeasonMetadataId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null)
.WithMany("Tags")

Loading…
Cancel
Save