You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
5.1 KiB
111 lines
5.1 KiB
using FluentMigrator;
|
|
using NzbDrone.Core.Datastore.Migration.Framework;
|
|
|
|
namespace NzbDrone.Core.Datastore.Migration
|
|
{
|
|
[Migration(1)]
|
|
public class InitialSetup : NzbDroneMigrationBase
|
|
{
|
|
protected override void MainDbUpgrade()
|
|
{
|
|
Create.TableForModel("Config")
|
|
.WithColumn("Key").AsString().Unique()
|
|
.WithColumn("Value").AsString();
|
|
|
|
Create.TableForModel("History")
|
|
.WithColumn("IndexerId").AsInt32()
|
|
.WithColumn("Date").AsDateTime()
|
|
.WithColumn("Data").AsString()
|
|
.WithColumn("EventType").AsInt32().Nullable()
|
|
.WithColumn("DownloadId").AsString().Nullable().Indexed();
|
|
|
|
Create.TableForModel("Notifications")
|
|
.WithColumn("Name").AsString()
|
|
.WithColumn("Settings").AsString()
|
|
.WithColumn("Implementation").AsString()
|
|
.WithColumn("ConfigContract").AsString().Nullable()
|
|
.WithColumn("Tags").AsString().Nullable()
|
|
.WithColumn("OnHealthIssue").AsBoolean().NotNullable()
|
|
.WithColumn("IncludeHealthWarnings").AsBoolean().NotNullable();
|
|
|
|
Create.TableForModel("ScheduledTasks")
|
|
.WithColumn("TypeName").AsString().Unique()
|
|
.WithColumn("Interval").AsInt32()
|
|
.WithColumn("LastExecution").AsDateTime()
|
|
.WithColumn("LastStartTime").AsDateTime().Nullable();
|
|
|
|
Create.TableForModel("Indexers")
|
|
.WithColumn("Name").AsString().Unique()
|
|
.WithColumn("Implementation").AsString()
|
|
.WithColumn("Settings").AsString().Nullable()
|
|
.WithColumn("ConfigContract").AsString().Nullable()
|
|
.WithColumn("EnableRss").AsBoolean().Nullable()
|
|
.WithColumn("EnableAutomaticSearch").AsBoolean().Nullable()
|
|
.WithColumn("EnableInteractiveSearch").AsBoolean().NotNullable()
|
|
.WithColumn("Priority").AsInt32().NotNullable().WithDefaultValue(25)
|
|
.WithColumn("Added").AsDateTime();
|
|
|
|
Create.TableForModel("ApplicationIndexerMapping")
|
|
.WithColumn("IndexerId").AsInt32()
|
|
.WithColumn("AppId").AsInt32()
|
|
.WithColumn("RemoteIndexerId").AsInt32();
|
|
|
|
Create.TableForModel("Applications")
|
|
.WithColumn("Name").AsString().Unique()
|
|
.WithColumn("Implementation").AsString()
|
|
.WithColumn("Settings").AsString().Nullable()
|
|
.WithColumn("ConfigContract").AsString().Nullable()
|
|
.WithColumn("SyncLevel").AsInt32()
|
|
.WithColumn("Tags").AsString().Nullable();
|
|
|
|
Create.TableForModel("Tags")
|
|
.WithColumn("Label").AsString().Unique();
|
|
|
|
Create.TableForModel("Users")
|
|
.WithColumn("Identifier").AsString().NotNullable().Unique()
|
|
.WithColumn("Username").AsString().NotNullable().Unique()
|
|
.WithColumn("Password").AsString().NotNullable();
|
|
|
|
Create.TableForModel("Commands")
|
|
.WithColumn("Name").AsString().NotNullable()
|
|
.WithColumn("Body").AsString().NotNullable()
|
|
.WithColumn("Priority").AsInt32().NotNullable()
|
|
.WithColumn("Status").AsInt32().NotNullable()
|
|
.WithColumn("QueuedAt").AsDateTime().NotNullable()
|
|
.WithColumn("StartedAt").AsDateTime().Nullable()
|
|
.WithColumn("EndedAt").AsDateTime().Nullable()
|
|
.WithColumn("Duration").AsString().Nullable()
|
|
.WithColumn("Exception").AsString().Nullable()
|
|
.WithColumn("Trigger").AsInt32().NotNullable();
|
|
|
|
Create.TableForModel("IndexerStatus")
|
|
.WithColumn("ProviderId").AsInt32().NotNullable().Unique()
|
|
.WithColumn("InitialFailure").AsDateTime().Nullable()
|
|
.WithColumn("MostRecentFailure").AsDateTime().Nullable()
|
|
.WithColumn("EscalationLevel").AsInt32().NotNullable()
|
|
.WithColumn("DisabledTill").AsDateTime().Nullable()
|
|
.WithColumn("LastRssSyncReleaseInfo").AsString().Nullable()
|
|
.WithColumn("Cookies").AsString().Nullable()
|
|
.WithColumn("CookiesExpirationDate").AsDateTime().Nullable();
|
|
|
|
Create.TableForModel("CustomFilters")
|
|
.WithColumn("Type").AsString().NotNullable()
|
|
.WithColumn("Label").AsString().NotNullable()
|
|
.WithColumn("Filters").AsString().NotNullable();
|
|
|
|
Create.Index().OnTable("History").OnColumn("Date");
|
|
}
|
|
|
|
protected override void LogDbUpgrade()
|
|
{
|
|
Create.TableForModel("Logs")
|
|
.WithColumn("Message").AsString()
|
|
.WithColumn("Time").AsDateTime().Indexed()
|
|
.WithColumn("Logger").AsString()
|
|
.WithColumn("Exception").AsString().Nullable()
|
|
.WithColumn("ExceptionType").AsString().Nullable()
|
|
.WithColumn("Level").AsString();
|
|
}
|
|
}
|
|
}
|