(cherry picked from commit 95a8f59a32d55550d5367f08a964859a97a0df44)pull/8745/head
parent
239109e3dd
commit
77cde138dc
@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Dapper;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Datastore.Migration;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.Datastore.Migration
|
||||
{
|
||||
[TestFixture]
|
||||
public class remove_invalid_roksbox_metadata_imagesFixture : MigrationTest<remove_invalid_roksbox_metadata_images>
|
||||
{
|
||||
[Test]
|
||||
public void should_remove_incorrect_roksbox_metadata_images()
|
||||
{
|
||||
var db = WithDapperMigrationTestDb(c =>
|
||||
{
|
||||
c.Insert.IntoTable("MetadataFiles").Row(new
|
||||
{
|
||||
MovieId = 1,
|
||||
Consumer = "RoksboxMetadata",
|
||||
Type = 5,
|
||||
RelativePath = @"metadata\Movie Title (2023).jpg",
|
||||
LastUpdated = "2023-01-21 00:00:00.000",
|
||||
Added = "2023-01-21 00:00:00.000",
|
||||
MovieFileId = 1,
|
||||
Extension = ".jpg"
|
||||
});
|
||||
|
||||
c.Insert.IntoTable("MetadataFiles").Row(new
|
||||
{
|
||||
MovieId = 1,
|
||||
Consumer = "RoksboxMetadata",
|
||||
Type = 5,
|
||||
RelativePath = @"Movie Title (2023).jpg",
|
||||
LastUpdated = "2023-01-21 00:00:00.000",
|
||||
MovieFileId = 1,
|
||||
Added = "2023-01-21 00:00:00.000",
|
||||
Extension = ".jpg"
|
||||
});
|
||||
});
|
||||
|
||||
var metadataFiles = db.Query<MetadataFile223>("SELECT * FROM \"MetadataFiles\"");
|
||||
|
||||
metadataFiles.Should().HaveCount(1);
|
||||
metadataFiles.First().RelativePath.Should().NotContain("metadata");
|
||||
}
|
||||
}
|
||||
|
||||
public class MetadataFile223
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int MovieId { get; set; }
|
||||
public int? MovieFileId { get; set; }
|
||||
public string RelativePath { get; set; }
|
||||
public DateTime Added { get; set; }
|
||||
public DateTime LastUpdated { get; set; }
|
||||
public string Extension { get; set; }
|
||||
public string Hash { get; set; }
|
||||
public string Consumer { get; set; }
|
||||
public int Type { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
using FluentMigrator;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration
|
||||
{
|
||||
[Migration(223)]
|
||||
public class remove_invalid_roksbox_metadata_images : NzbDroneMigrationBase
|
||||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
IfDatabase("sqlite").Execute.Sql("DELETE FROM \"MetadataFiles\" WHERE \"Consumer\" = 'RoksboxMetadata' AND \"Type\" = 5 AND (\"RelativePath\" LIKE 'metadata/%' OR \"RelativePath\" LIKE 'metadata\\%')");
|
||||
IfDatabase("postgresql").Execute.Sql("DELETE FROM \"MetadataFiles\" WHERE \"Consumer\" = 'RoksboxMetadata' AND \"Type\" = 5 AND (\"RelativePath\" LIKE 'metadata/%' OR \"RelativePath\" LIKE 'metadata\\\\%')");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue