Radarr/NzbDrone.Core/Datastore/Migrations/Migration20120220.cs

29 lines
1.3 KiB
C#

using System;
using System.Data;
using Migrator.Framework;
namespace NzbDrone.Core.Datastore.Migrations
{
[Migration(20120220)]
public class Migration20120220 : NzbDroneMigration
{
protected override void MainDbUpgrade()
{
Database.AddTable("Seasons", new[]
{
new Column("SeasonId", DbType.Int32, ColumnProperty.PrimaryKeyWithIdentity),
new Column("SeriesId", DbType.Int32, ColumnProperty.NotNull),
new Column("SeasonNumber", DbType.Int32, ColumnProperty.NotNull),
new Column("Ignored", DbType.Boolean, ColumnProperty.NotNull)
});
Database.ExecuteNonQuery(@"INSERT INTO Seasons (SeriesId, SeasonNumber, Ignored)
SELECT SeriesId, SeasonNumber,
CASE WHEN Count(*) =
SUM(CASE WHEN Ignored = 1 THEN 1 ELSE 0 END) THEN 1 ELSE 0 END AS Ignored
FROM Episodes
GROUP BY SeriesId, SeasonNumber");
}
}
}