add artists as owners of music videos (#154)
* clean up genre, tag, studio orphans * enforce foreign keys at connection level * wip * fix fragment scroll offset * fix see all link for music videos * add fake artist metadata * not null artist id * add artist scanning * remove improperly named music videos * code cleanup * add artists to search results and collections * clean up music video metadata / artist * add artist view * show music videos on artist page * add music video artwork placeholder
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace ErsatzTV.Infrastructure.Migrations
|
||||
{
|
||||
public partial class Add_ArtistMetadata : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var now = DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.FFFFFFF");
|
||||
|
||||
migrationBuilder.Sql(
|
||||
@"INSERT INTO MediaItem (LibraryPathId)
|
||||
SELECT LibraryPath.Id FROM LibraryPath INNER JOIN Library L on LibraryPath.LibraryId = L.Id
|
||||
WHERE MediaKind = 3");
|
||||
|
||||
migrationBuilder.Sql(
|
||||
@"INSERT INTO Artist (Id)
|
||||
SELECT MediaItem.Id FROM MediaItem
|
||||
INNER JOIN LibraryPath LP on MediaItem.LibraryPathId = LP.Id
|
||||
INNER JOIN Library L on LP.LibraryId = L.Id
|
||||
WHERE MediaKind = 3 AND NOT EXISTS (SELECT Id FROM MusicVideo WHERE Id = MediaItem.Id)");
|
||||
|
||||
migrationBuilder.Sql(
|
||||
$@"INSERT INTO ArtistMetadata (ArtistId, Title, DateAdded, DateUpdated, MetadataKind)
|
||||
SELECT Id, '[FAKE ARTIST]', '{now}', '{now}', 0 FROM Artist");
|
||||
|
||||
migrationBuilder.Sql(
|
||||
@"UPDATE MusicVideo SET ArtistId =
|
||||
(SELECT Artist.Id FROM Artist
|
||||
INNER JOIN MediaItem MIA on Artist.Id = MIA.Id
|
||||
INNER JOIN MediaItem MIMV on MusicVideo.Id = MIMV.Id
|
||||
INNER JOIN LibraryPath LPA on MIA.LibraryPathId = LPA.Id
|
||||
INNER JOIN LibraryPath LPMV on MIMV.LibraryPathId = LPMV.Id
|
||||
WHERE LPA.LibraryId = LPMV.LibraryId)");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user