Sonarr/NzbDrone.Core/Datastore/Migrations/Migration20110707.cs

167 lines
12 KiB
C#
Raw Normal View History

using System;
using System.Data;
using Migrator.Framework;
namespace NzbDrone.Core.Datastore.Migrations
{
2011-07-08 03:27:11 +00:00
[Migration(20110707)]
public class Migration20110707 : Migration
{
public override void Up()
{
Database.AddTable("Series", new[]
{
new Column("SeriesId", DbType.Int32, ColumnProperty.PrimaryKey),
2011-06-18 01:46:22 +00:00
new Column("Title", DbType.String, ColumnProperty.Null),
new Column("CleanTitle", DbType.String, ColumnProperty.Null),
new Column("Status", DbType.String, ColumnProperty.Null),
2011-07-08 03:27:11 +00:00
new Column("Overview", DbType.String,4000, ColumnProperty.Null),
2011-06-23 06:56:17 +00:00
new Column("AirsDayOfWeek", DbType.Int32, ColumnProperty.Null),
2011-06-18 01:46:22 +00:00
new Column("AirTimes", DbType.String, ColumnProperty.Null),
new Column("Language", DbType.String, ColumnProperty.Null),
2011-07-08 03:27:11 +00:00
new Column("Path", DbType.String,4000, ColumnProperty.NotNull),
new Column("Monitored", DbType.Boolean, ColumnProperty.NotNull),
2011-06-23 06:56:17 +00:00
new Column("QualityProfileId", DbType.Int32, ColumnProperty.NotNull),
new Column("SeasonFolder", DbType.Boolean, ColumnProperty.NotNull),
new Column("LastInfoSync", DbType.DateTime, ColumnProperty.Null),
new Column("LastDiskSync", DbType.DateTime, ColumnProperty.Null)
});
Database.AddTable("Episodes", new[]
{
new Column("EpisodeId", DbType.Int32, ColumnProperty.PrimaryKeyWithIdentity),
new Column("TvDbEpisodeId", DbType.Int32, ColumnProperty.Null),
new Column("SeriesId", DbType.Int32, ColumnProperty.NotNull),
2011-06-23 06:56:17 +00:00
new Column("SeasonNumber", DbType.Int32, ColumnProperty.NotNull),
new Column("EpisodeNumber", DbType.Int32, ColumnProperty.NotNull),
2011-07-08 03:27:11 +00:00
new Column("Title", DbType.String,100, ColumnProperty.Null),
new Column("Overview", DbType.String,4000, ColumnProperty.Null),
2011-06-18 01:46:22 +00:00
new Column("Ignored", DbType.Boolean, ColumnProperty.NotNull),
new Column("EpisodeFileId", DbType.Int32, ColumnProperty.Null),
new Column("AirDate", DbType.DateTime, ColumnProperty.Null),
new Column("GrabDate", DbType.DateTime, ColumnProperty.Null)
});
2011-06-24 02:04:07 +00:00
var indexName = MigrationsHelper.GetIndexName("Episodes", "SeriesId");
Database.AddIndex(indexName, "Episodes", "SeriesId");
indexName = MigrationsHelper.GetIndexName("Episodes", "EpisodeFileId");
Database.AddIndex(indexName, "Episodes", "EpisodeFileId");
indexName = MigrationsHelper.GetIndexName("Episodes", "AirDate");
Database.AddIndex(indexName, "Episodes", "AirDate");
indexName = MigrationsHelper.GetIndexName("Episodes", "TvDbEpisodeId");
Database.AddIndex(indexName, "Episodes", "TvDbEpisodeId");
Database.AddTable("EpisodeFiles", new[]
{
new Column("EpisodeFileId", DbType.Int32,
ColumnProperty.PrimaryKeyWithIdentity),
new Column("SeriesId", DbType.Int32, ColumnProperty.NotNull),
2011-07-08 03:27:11 +00:00
new Column("Path", DbType.String,4000, ColumnProperty.NotNull),
2011-06-23 06:56:17 +00:00
new Column("Quality", DbType.Int32, ColumnProperty.NotNull),
new Column("Proper", DbType.Int32, ColumnProperty.NotNull),
new Column("Size", DbType.Int64, ColumnProperty.NotNull),
new Column("DateAdded", DbType.DateTime, ColumnProperty.NotNull),
2011-06-23 06:56:17 +00:00
new Column("SeasonNumber", DbType.Int32, ColumnProperty.NotNull)
});
2011-06-24 02:04:07 +00:00
indexName = MigrationsHelper.GetIndexName("EpisodeFiles", "SeriesId");
Database.AddIndex(indexName, "Episodes", "SeriesId");
Database.AddTable("Config", new[]
{
new Column("Key", DbType.String, ColumnProperty.PrimaryKey),
new Column("Value", DbType.String, ColumnProperty.NotNull)
});
Database.AddTable("SceneMappings", new[]
{
new Column("CleanTitle", DbType.String, ColumnProperty.PrimaryKey),
new Column("SeriesId", DbType.Int32, ColumnProperty.NotNull),
new Column("SceneName", DbType.String, ColumnProperty.NotNull)
});
Database.AddTable("History", new[]
{
2011-06-23 06:56:17 +00:00
new Column("HistoryId", DbType.Int64, ColumnProperty.PrimaryKeyWithIdentity),
new Column("EpisodeId", DbType.Int32, ColumnProperty.NotNull),
new Column("SeriesId", DbType.Int32, ColumnProperty.NotNull),
new Column("NzbTitle", DbType.String, ColumnProperty.NotNull),
new Column("Date", DbType.DateTime, ColumnProperty.NotNull),
2011-06-23 06:56:17 +00:00
new Column("Quality", DbType.Int32, ColumnProperty.NotNull),
new Column("IsProper", DbType.Boolean, ColumnProperty.NotNull),
new Column("Indexer", DbType.String, ColumnProperty.NotNull)
});
2011-06-24 02:04:07 +00:00
indexName = MigrationsHelper.GetIndexName("History", "EpisodeId");
Database.AddIndex(indexName, "History", "EpisodeId");
indexName = MigrationsHelper.GetIndexName("History", "SeriesId");
Database.AddIndex(indexName, "History", "SeriesId");
Database.AddTable("RootDirs", new[]
{
2011-06-23 06:56:17 +00:00
new Column("Id", DbType.Int32, ColumnProperty.PrimaryKeyWithIdentity),
2011-07-08 03:27:11 +00:00
new Column("Path", DbType.String, 4000, ColumnProperty.NotNull)
});
Database.AddTable("ExternalNotificationSettings", new[]
{
2011-06-23 06:56:17 +00:00
new Column("Id", DbType.Int32, ColumnProperty.PrimaryKeyWithIdentity),
new Column("Enabled", DbType.Boolean, ColumnProperty.NotNull),
new Column("NotifierName", DbType.String, ColumnProperty.NotNull),
new Column("Name", DbType.String, ColumnProperty.NotNull)
});
2011-07-08 03:27:11 +00:00
Database.AddTable("JobDefinitions", new[]
{
2011-06-23 06:56:17 +00:00
new Column("Id", DbType.Int32, ColumnProperty.PrimaryKeyWithIdentity),
new Column("Enable", DbType.Boolean, ColumnProperty.NotNull),
new Column("TypeName", DbType.String, ColumnProperty.NotNull),
new Column("Name", DbType.String, ColumnProperty.NotNull),
new Column("Interval", DbType.Int32, ColumnProperty.NotNull),
new Column("LastExecution", DbType.DateTime, ColumnProperty.NotNull),
new Column("Success", DbType.Boolean, ColumnProperty.NotNull)
});
Database.AddTable("QualityProfiles", new[]
{
2011-06-23 06:56:17 +00:00
new Column("QualityProfileId", DbType.Int32, ColumnProperty.PrimaryKeyWithIdentity),
new Column("Name", DbType.String, ColumnProperty.NotNull),
new Column("Cutoff", DbType.Int32, ColumnProperty.NotNull),
new Column("SonicAllowed", DbType.String, ColumnProperty.NotNull),
});
Database.AddTable("Logs", new[]
{
2011-06-23 06:56:17 +00:00
new Column("LogId", DbType.Int64, ColumnProperty.PrimaryKeyWithIdentity),
2011-07-08 03:27:11 +00:00
new Column("Message", DbType.String,4000, ColumnProperty.NotNull),
new Column("Time", DbType.DateTime, ColumnProperty.NotNull),
new Column("Logger", DbType.String, ColumnProperty.NotNull),
new Column("Method", DbType.String, ColumnProperty.NotNull),
2011-07-08 03:27:11 +00:00
new Column("Exception", DbType.String,4000, ColumnProperty.Null),
new Column("ExceptionType", DbType.String, ColumnProperty.Null),
new Column("Level", DbType.String, ColumnProperty.NotNull)
});
2011-07-08 03:27:11 +00:00
Database.AddTable("IndexerDefinitions", new[]
{
2011-06-23 06:56:17 +00:00
new Column("Id", DbType.Int32, ColumnProperty.PrimaryKeyWithIdentity),
new Column("Enable", DbType.Boolean, ColumnProperty.NotNull),
new Column("IndexProviderType", DbType.String, ColumnProperty.NotNull),
new Column("Name", DbType.String, ColumnProperty.NotNull),
});
}
2011-06-18 00:11:12 +00:00
public override void Down()
{
throw new NotImplementedException();
}
}
}