mirror of
https://github.com/Radarr/Radarr.git
synced 2024-09-11 12:02:35 +02:00
Marr is almost working.
This commit is contained in:
parent
971053f8a2
commit
ea4f0dbe5f
@ -1,44 +1,29 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using Marr.Data.Mapping;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Datastore;
|
||||
using NzbDrone.Core.Jobs;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.Datastore
|
||||
{
|
||||
public class BasicType : ModelBase
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Tilte { get; set; }
|
||||
public string Address { get; set; }
|
||||
}
|
||||
|
||||
[TestFixture]
|
||||
public class
|
||||
BasicRepositoryFixture : DbTest<BasicRepository<BasicType>, BasicType>
|
||||
public class
|
||||
BasicRepositoryFixture : DbTest<BasicRepository<JobDefinition>, JobDefinition>
|
||||
{
|
||||
private BasicType _basicType;
|
||||
private JobDefinition _basicType;
|
||||
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
_basicType = Builder<BasicType>
|
||||
_basicType = Builder<JobDefinition>
|
||||
.CreateNew()
|
||||
.With(c => c.Id = 0)
|
||||
.Build();
|
||||
|
||||
var mapping = new FluentMappings(true);
|
||||
|
||||
mapping.Entity<BasicType>()
|
||||
.Columns.AutoMapSimpleTypeProperties()
|
||||
.For(c => c.Id).SetAutoIncrement()
|
||||
.SetPrimaryKey();
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -6,19 +6,20 @@
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Datastore;
|
||||
using NzbDrone.Core.Jobs;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.Datastore
|
||||
{
|
||||
[TestFixture]
|
||||
public class ObjectDatabaseFixture : DbTest<BasicRepository<BasicType>, BasicType>
|
||||
public class ObjectDatabaseFixture : DbTest<BasicRepository<JobDefinition>, JobDefinition>
|
||||
{
|
||||
private BasicType _sampleType;
|
||||
private JobDefinition _sampleType;
|
||||
|
||||
[SetUp]
|
||||
public void SetUp()
|
||||
{
|
||||
_sampleType = Builder<BasicType>
|
||||
_sampleType = Builder<JobDefinition>
|
||||
.CreateNew()
|
||||
.With(s => s.Id = 0)
|
||||
.Build();
|
||||
@ -29,7 +30,7 @@ public void SetUp()
|
||||
public void should_be_able_to_write_to_database()
|
||||
{
|
||||
Subject.Insert(_sampleType);
|
||||
Db.All<BasicType>().Should().HaveCount(1);
|
||||
Db.All<JobDefinition>().Should().HaveCount(1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@ -49,7 +50,7 @@ public void update_item_with_root_index_0_should_faile()
|
||||
[Test]
|
||||
public void should_be_able_to_store_empty_list()
|
||||
{
|
||||
var series = new List<BasicType>();
|
||||
var series = new List<JobDefinition>();
|
||||
|
||||
Subject.InsertMany(series);
|
||||
}
|
||||
@ -68,7 +69,7 @@ public void new_object_should_get_new_id()
|
||||
_sampleType.Id = 0;
|
||||
Subject.Insert(_sampleType);
|
||||
|
||||
Db.All<BasicType>().Should().HaveCount(1);
|
||||
Db.All<JobDefinition>().Should().HaveCount(1);
|
||||
_sampleType.Id.Should().Be(1);
|
||||
}
|
||||
|
||||
@ -80,7 +81,7 @@ public void should_have_id_when_returned_from_database()
|
||||
{
|
||||
_sampleType.Id = 0;
|
||||
Subject.Insert(_sampleType);
|
||||
var item = Db.All<BasicType>();
|
||||
var item = Db.All<JobDefinition>();
|
||||
|
||||
item.Should().HaveCount(1);
|
||||
item.First().Id.Should().NotBe(0);
|
||||
@ -92,7 +93,7 @@ public void should_have_id_when_returned_from_database()
|
||||
public void should_be_able_to_find_object_by_id()
|
||||
{
|
||||
Subject.Insert(_sampleType);
|
||||
var item = Db.All<BasicType>().Single(c => c.Id == _sampleType.Id);
|
||||
var item = Db.All<JobDefinition>().Single(c => c.Id == _sampleType.Id);
|
||||
|
||||
item.Id.Should().NotBe(0);
|
||||
item.Id.Should().Be(_sampleType.Id);
|
||||
@ -102,25 +103,25 @@ public void should_be_able_to_find_object_by_id()
|
||||
[Test]
|
||||
public void update_field_should_only_update_that_filed()
|
||||
{
|
||||
var childModel = new BasicType
|
||||
var childModel = new JobDefinition
|
||||
{
|
||||
Address = "Address",
|
||||
Type = "Address",
|
||||
Name = "Name",
|
||||
Tilte = "Title"
|
||||
Interval = 12
|
||||
|
||||
};
|
||||
|
||||
Subject.Insert(childModel);
|
||||
|
||||
childModel.Address = "A";
|
||||
childModel.Type = "A";
|
||||
childModel.Name = "B";
|
||||
childModel.Tilte = "C";
|
||||
childModel.Interval = 0;
|
||||
|
||||
Subject.UpdateFields(childModel, t => t.Name);
|
||||
|
||||
Db.All<BasicType>().Single().Address.Should().Be("Address");
|
||||
Db.All<BasicType>().Single().Name.Should().Be("B");
|
||||
Db.All<BasicType>().Single().Tilte.Should().Be("Title");
|
||||
Db.All<JobDefinition>().Single().Type.Should().Be("Address");
|
||||
Db.All<JobDefinition>().Single().Name.Should().Be("B");
|
||||
Db.All<JobDefinition>().Single().Interval.Should().Be(12);
|
||||
}
|
||||
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Core.Datastore;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.Framework
|
||||
{
|
||||
@ -85,7 +86,7 @@ private void WithObjectDb(bool memory = true)
|
||||
|
||||
MapRepository.Instance.EnableTraceLogging = true;
|
||||
|
||||
var factory = new DbFactory();
|
||||
var factory = new DbFactory(new MigrationController(new NlogAnnouncer()));
|
||||
_database = factory.Create(_dbName);
|
||||
_db = new TestTestDatabase(_database);
|
||||
Mocker.SetConstant(_database);
|
||||
|
@ -79,6 +79,11 @@
|
||||
</Reference>
|
||||
<Reference Include="Marr.Data">
|
||||
<HintPath>..\packages\MarrDataMapper.3.17.4747.34302\lib\Marr.Data.dll</HintPath>
|
||||
<Reference Include="FluentMigrator">
|
||||
<HintPath>..\packages\FluentMigrator.1.0.6.0\lib\40\FluentMigrator.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FluentMigrator.Runner">
|
||||
<HintPath>..\packages\FluentMigrator.1.0.6.0\tools\FluentMigrator.Runner.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="Microsoft.Practices.ServiceLocation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
|
@ -4,6 +4,7 @@
|
||||
<package id="AutoMoq" version="1.6.1" targetFramework="net40" />
|
||||
<package id="CommonServiceLocator" version="1.0" targetFramework="net40" />
|
||||
<package id="FluentAssertions" version="2.0.0.1" targetFramework="net40" />
|
||||
<package id="FluentMigrator" version="1.0.6.0" targetFramework="net40" />
|
||||
<package id="Moq" version="4.0.10827" />
|
||||
<package id="NBuilder" version="3.0.1.1" />
|
||||
<package id="NCrunch.Framework" version="1.43.0.23" targetFramework="net40" />
|
||||
|
52
NzbDrone.Core/Datastore/Converters/BooleanIntConverter.cs
Normal file
52
NzbDrone.Core/Datastore/Converters/BooleanIntConverter.cs
Normal file
@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using Marr.Data.Converters;
|
||||
using Marr.Data.Mapping;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Converters
|
||||
{
|
||||
public class BooleanIntConverter : IConverter
|
||||
{
|
||||
public object FromDB(ColumnMap map, object dbValue)
|
||||
{
|
||||
if (dbValue == DBNull.Value)
|
||||
{
|
||||
return DBNull.Value;
|
||||
}
|
||||
|
||||
var val = (Int64)dbValue;
|
||||
|
||||
switch (val)
|
||||
{
|
||||
case 1:
|
||||
return true;
|
||||
case 0:
|
||||
return false;
|
||||
default:
|
||||
throw new ConversionException(string.Format("The BooleanCharConverter could not convert the value '{0}' to a Boolean.", dbValue));
|
||||
}
|
||||
}
|
||||
|
||||
public object ToDB(object clrValue)
|
||||
{
|
||||
var val = (Nullable<bool>)clrValue;
|
||||
|
||||
switch (val)
|
||||
{
|
||||
case true:
|
||||
return 1;
|
||||
case false:
|
||||
return 0;
|
||||
default:
|
||||
return DBNull.Value;
|
||||
}
|
||||
}
|
||||
|
||||
public Type DbType
|
||||
{
|
||||
get
|
||||
{
|
||||
return typeof(int);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
31
NzbDrone.Core/Datastore/Converters/Int32Converter.cs
Normal file
31
NzbDrone.Core/Datastore/Converters/Int32Converter.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using Marr.Data.Converters;
|
||||
using Marr.Data.Mapping;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Converters
|
||||
{
|
||||
public class Int32Converter : IConverter
|
||||
{
|
||||
public object FromDB(ColumnMap map, object dbValue)
|
||||
{
|
||||
if (dbValue == DBNull.Value)
|
||||
{
|
||||
return DBNull.Value;
|
||||
}
|
||||
|
||||
if (dbValue is Int32)
|
||||
{
|
||||
return dbValue;
|
||||
}
|
||||
|
||||
return Convert.ToInt32(dbValue);
|
||||
}
|
||||
|
||||
public object ToDB(object clrValue)
|
||||
{
|
||||
return clrValue;
|
||||
}
|
||||
|
||||
public Type DbType { get; private set; }
|
||||
}
|
||||
}
|
@ -2,35 +2,35 @@
|
||||
using System.Data;
|
||||
using Marr.Data;
|
||||
using Mono.Data.Sqlite;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
|
||||
|
||||
namespace NzbDrone.Core.Datastore
|
||||
{
|
||||
public interface IDbFactory
|
||||
{
|
||||
IDatabase Create(string dbPath = null);
|
||||
IDatabase Create(string dbPath, MigrationType migrationType = MigrationType.Main);
|
||||
}
|
||||
|
||||
public class DbFactory : IDbFactory
|
||||
{
|
||||
private const string MemoryConnectionString = "Data Source=:memory:;Version=3;New=True;";
|
||||
private readonly IMigrationController _migrationController;
|
||||
|
||||
public IDatabase Create(string dbPath = null)
|
||||
public DbFactory(IMigrationController migrationController)
|
||||
{
|
||||
var connectionString = MemoryConnectionString;
|
||||
TableMapping.Map();
|
||||
_migrationController = migrationController;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(dbPath))
|
||||
{
|
||||
connectionString = GetConnectionString(dbPath);
|
||||
}
|
||||
public IDatabase Create(string dbPath, MigrationType migrationType = MigrationType.Main)
|
||||
{
|
||||
var connectionString = GetConnectionString(dbPath);
|
||||
|
||||
MigrationHelper.MigrateToLatest(connectionString, MigrationType.Main);
|
||||
_migrationController.MigrateToLatest(connectionString, migrationType);
|
||||
var dataMapper = new DataMapper(SqliteFactory.Instance, connectionString);
|
||||
return new Database(dataMapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private string GetConnectionString(string dbPath)
|
||||
{
|
||||
return String.Format("Data Source={0};Version=3;", dbPath);
|
||||
|
@ -0,0 +1,39 @@
|
||||
using System.Reflection;
|
||||
using FluentMigrator.Runner;
|
||||
using FluentMigrator.Runner.Initialization;
|
||||
using NzbDrone.Core.Datastore.Migration.Sqlite;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration.Framework
|
||||
{
|
||||
public interface IMigrationController
|
||||
{
|
||||
void MigrateToLatest(string connectionString, MigrationType migrationType);
|
||||
}
|
||||
|
||||
public class MigrationController : IMigrationController
|
||||
{
|
||||
private readonly IAnnouncer _announcer;
|
||||
|
||||
public MigrationController(IAnnouncer announcer)
|
||||
{
|
||||
_announcer = announcer;
|
||||
}
|
||||
|
||||
public void MigrateToLatest(string connectionString, MigrationType migrationType)
|
||||
{
|
||||
var assembly = Assembly.GetExecutingAssembly();
|
||||
|
||||
var migrationContext = new RunnerContext(_announcer)
|
||||
{
|
||||
Namespace = "NzbDrone.Core.Datastore.Migration",
|
||||
ApplicationContext = migrationType
|
||||
};
|
||||
|
||||
var options = new MigrationOptions { PreviewOnly = false, Timeout = 60 };
|
||||
var factory = new MonoSqliteProcessorFactory();
|
||||
var processor = factory.Create(connectionString, _announcer, options);
|
||||
var runner = new MigrationRunner(assembly, migrationContext, processor);
|
||||
runner.MigrateUp(true);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
using FluentMigrator;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration.Framework
|
||||
{
|
||||
public class MigrationOptions : IMigrationProcessorOptions
|
||||
{
|
||||
public bool PreviewOnly { get; set; }
|
||||
public int Timeout { get; set; }
|
||||
}
|
||||
}
|
@ -1,11 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using FluentMigrator.Runner.Announcers;
|
||||
using FluentMigrator.Runner.Announcers;
|
||||
using NLog;
|
||||
|
||||
namespace NzbDrone.Core.Datastore
|
||||
namespace NzbDrone.Core.Datastore.Migration.Framework
|
||||
{
|
||||
public class NlogAnnouncer : Announcer
|
||||
{
|
@ -1,13 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using FluentMigrator;
|
||||
using NzbDrone.Common;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migrations
|
||||
namespace NzbDrone.Core.Datastore.Migration.Framework
|
||||
{
|
||||
public abstract class NzbDroneMigration : Migration
|
||||
public abstract class NzbDroneMigrationBase : FluentMigrator.Migration
|
||||
{
|
||||
protected virtual void MainDbUpgrade()
|
||||
{
|
||||
@ -19,11 +14,11 @@ protected virtual void LogDbUpgrade()
|
||||
|
||||
public override void Up()
|
||||
{
|
||||
if ((MigrationType)this.ApplicationContext == MigrationType.Main)
|
||||
if ((MigrationType)ApplicationContext == MigrationType.Main)
|
||||
{
|
||||
MainDbUpgrade();
|
||||
}
|
||||
else if ((MigrationType)this.ApplicationContext == MigrationType.Log)
|
||||
else if ((MigrationType)ApplicationContext == MigrationType.Log)
|
||||
{
|
||||
LogDbUpgrade();
|
||||
}
|
@ -1,14 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using FluentMigrator;
|
||||
using FluentMigrator;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migrations
|
||||
namespace NzbDrone.Core.Datastore.Migration
|
||||
{
|
||||
[Tags("")]
|
||||
[Migration(20130324)]
|
||||
public class Migration20130324 : NzbDroneMigration
|
||||
public class Migration20130324 : NzbDroneMigrationBase
|
||||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
@ -80,12 +77,6 @@ protected override void MainDbUpgrade()
|
||||
.WithColumn("LastExecution").AsDateTime().NotNullable()
|
||||
.WithColumn("Success").AsBoolean().NotNullable();
|
||||
|
||||
Create.Table("MetadataDefinitions")
|
||||
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
|
||||
.WithColumn("Enable").AsBoolean().NotNullable()
|
||||
.WithColumn("Type").AsString().NotNullable()
|
||||
.WithColumn("Name").AsString().NotNullable();
|
||||
|
||||
Create.Table("NewznabDefinitions")
|
||||
.WithColumn("Id").AsInt32().PrimaryKey().Identity()
|
||||
.WithColumn("Enable").AsBoolean().NotNullable()
|
@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using FluentMigrator.Runner.Processors;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration.Sqlite
|
||||
{
|
||||
public class MonoSqliteDbFactory : ReflectionBasedDbFactory
|
||||
{
|
||||
public MonoSqliteDbFactory()
|
||||
: base("Mono.Data.Sqlite", "Mono.Data.Sqlite.SqliteFactory")
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
using FluentMigrator;
|
||||
using FluentMigrator.Runner;
|
||||
using FluentMigrator.Runner.Generators.SQLite;
|
||||
using FluentMigrator.Runner.Processors;
|
||||
using FluentMigrator.Runner.Processors.Sqlite;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration.Sqlite
|
||||
{
|
||||
public class MonoSqliteProcessorFactory : MigrationProcessorFactory
|
||||
{
|
||||
public override IMigrationProcessor Create(string connectionString, IAnnouncer announcer, IMigrationProcessorOptions options)
|
||||
{
|
||||
var factory = new MonoSqliteDbFactory();
|
||||
var connection = factory.CreateConnection(connectionString);
|
||||
return new SqliteProcessor(connection, new SqliteGenerator(), announcer, options, factory);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using FluentMigrator;
|
||||
using FluentMigrator.Runner;
|
||||
using FluentMigrator.Runner.Initialization;
|
||||
|
||||
namespace NzbDrone.Core.Datastore
|
||||
{
|
||||
public static class MigrationHelper
|
||||
{
|
||||
public static void MigrateToLatest(string connectionString, MigrationType migrationType)
|
||||
{
|
||||
var announcer = new NlogAnnouncer();
|
||||
var assembly = Assembly.GetExecutingAssembly();
|
||||
|
||||
var migrationContext = new RunnerContext(announcer)
|
||||
{
|
||||
Namespace = "NzbDrone.Core.Datastore.Migrations",
|
||||
ApplicationContext = migrationType
|
||||
};
|
||||
|
||||
var options = new MigrationOptions { PreviewOnly = false, Timeout = 60 };
|
||||
var factory = new FluentMigrator.Runner.Processors.Sqlite.SqliteProcessorFactory();
|
||||
var processor = factory.Create(connectionString, announcer, options);
|
||||
var runner = new MigrationRunner(assembly, migrationContext, processor);
|
||||
runner.MigrateUp(true);
|
||||
}
|
||||
}
|
||||
|
||||
public class MigrationOptions : IMigrationProcessorOptions
|
||||
{
|
||||
public bool PreviewOnly { get; set; }
|
||||
public int Timeout { get; set; }
|
||||
}
|
||||
}
|
71
NzbDrone.Core/Datastore/TableMapping.cs
Normal file
71
NzbDrone.Core/Datastore/TableMapping.cs
Normal file
@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using Marr.Data;
|
||||
using Marr.Data.Mapping;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Datastore.Converters;
|
||||
using NzbDrone.Core.ExternalNotification;
|
||||
using NzbDrone.Core.Indexers;
|
||||
using NzbDrone.Core.Instrumentation;
|
||||
using NzbDrone.Core.Jobs;
|
||||
using NzbDrone.Core.MediaFiles;
|
||||
using NzbDrone.Core.Qualities;
|
||||
using NzbDrone.Core.ReferenceData;
|
||||
using NzbDrone.Core.RootFolders;
|
||||
using NzbDrone.Core.Tv;
|
||||
using BooleanIntConverter = NzbDrone.Core.Datastore.Converters.BooleanIntConverter;
|
||||
|
||||
namespace NzbDrone.Core.Datastore
|
||||
{
|
||||
public static class TableMapping
|
||||
{
|
||||
|
||||
private static readonly FluentMappings Mapper = new FluentMappings(true);
|
||||
|
||||
public static void Map()
|
||||
{
|
||||
RegisterMappers();
|
||||
|
||||
Mapper.Entity<Config>().RegisterModel("Config");
|
||||
Mapper.Entity<RootFolder>().RegisterModel("RootFolders");
|
||||
|
||||
Mapper.Entity<Indexer>().RegisterModel("IndexerDefinitions");
|
||||
Mapper.Entity<NewznabDefinition>().RegisterModel("NewznabDefinitions");
|
||||
Mapper.Entity<JobDefinition>().RegisterModel("JobDefinitions");
|
||||
Mapper.Entity<ExternalNotificationDefinition>().RegisterModel("ExternalNotificationDefinitions");
|
||||
|
||||
Mapper.Entity<SceneMapping>().RegisterModel("SceneMappings");
|
||||
|
||||
Mapper.Entity<History.History>().RegisterModel("History");
|
||||
|
||||
Mapper.Entity<Series>().RegisterModel("Series");
|
||||
Mapper.Entity<Season>().RegisterModel("Seasons");
|
||||
Mapper.Entity<Episode>().RegisterModel("Episodes");
|
||||
Mapper.Entity<EpisodeFile>().RegisterModel("EpisodeFiles");
|
||||
|
||||
Mapper.Entity<QualityProfile>().RegisterModel("QualityProfiles");
|
||||
Mapper.Entity<QualitySize>().RegisterModel("QualitySizes");
|
||||
|
||||
Mapper.Entity<Log>().RegisterModel("Logs");
|
||||
|
||||
}
|
||||
|
||||
private static void RegisterMappers()
|
||||
{
|
||||
MapRepository.Instance.RegisterTypeConverter(typeof(Int32), new Int32Converter());
|
||||
MapRepository.Instance.RegisterTypeConverter(typeof(Boolean), new BooleanIntConverter());
|
||||
}
|
||||
|
||||
|
||||
private static void RegisterModel<T>(this FluentMappings.MappingsFluentEntity<T> mapBuilder, string tableName) where T : ModelBase
|
||||
{
|
||||
mapBuilder.Table.MapTable(tableName)
|
||||
.Columns
|
||||
.AutoMapSimpleTypeProperties()
|
||||
.For(c => c.Id)
|
||||
.SetPrimaryKey()
|
||||
.SetReturnValue()
|
||||
.SetAutoIncrement();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -179,14 +179,6 @@
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.84.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\System.Data.SQLite.x64.1.0.84.0\lib\net40\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SQLite.Linq, Version=1.0.84.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\System.Data.SQLite.x64.1.0.84.0\lib\net40\System.Data.SQLite.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Web" />
|
||||
@ -206,15 +198,21 @@
|
||||
<Compile Include="Configuration\IConfigService.cs" />
|
||||
<Compile Include="Constants.cs" />
|
||||
<Compile Include="ContainerExtensions.cs" />
|
||||
<Compile Include="Datastore\Converters\BooleanIntConverter.cs" />
|
||||
<Compile Include="Datastore\Converters\Int32Converter.cs" />
|
||||
<Compile Include="Datastore\Database.cs" />
|
||||
<Compile Include="Datastore\DbFactory.cs" />
|
||||
<Compile Include="Datastore\MigrationHelper.cs" />
|
||||
<Compile Include="Datastore\Migrations\Migration20130324.cs" />
|
||||
<Compile Include="Datastore\Migrations\NzbDroneMigration.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationController.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationOptions.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\NlogAnnouncer.cs" />
|
||||
<Compile Include="Datastore\Migration\Migration20130324.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\NzbDroneMigrationBase.cs" />
|
||||
<Compile Include="Datastore\MigrationType.cs" />
|
||||
<Compile Include="Datastore\Migration\Sqlite\MonoSqliteDbFactory.cs" />
|
||||
<Compile Include="Datastore\Migration\Sqlite\MonoSqliteProcessorFactory.cs" />
|
||||
<Compile Include="Datastore\ModelBase.cs" />
|
||||
<Compile Include="Datastore\BasicRepository.cs" />
|
||||
<Compile Include="Datastore\NlogAnnouncer.cs" />
|
||||
<Compile Include="Datastore\TableMapping.cs" />
|
||||
<Compile Include="DecisionEngine\DownloadDecision.cs" />
|
||||
<Compile Include="DecisionEngine\IFetchableSpecification.cs" />
|
||||
<Compile Include="DecisionEngine\Specifications\AcceptableSizeSpecification.cs" />
|
||||
|
Loading…
Reference in New Issue
Block a user