Skip to content

Commit

Permalink
Created Factory and Generator classes for SqlServer2012
Browse files Browse the repository at this point in the history
Set up the structure needed to add Sql Server 2012 specfic changes
to FluentMigrator. At the moment, functionality is exactly the same
as Sql Server 2008.
  • Loading branch information
daniellee committed Sep 30, 2012
1 parent 72e0256 commit b83b8b4
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/FluentMigrator.Runner/FluentMigrator.Runner.csproj
Expand Up @@ -141,6 +141,7 @@
<Compile Include="Generators\Firebird\FirebirdColumn.cs" />
<Compile Include="Generators\Firebird\FirebirdGenerator.cs" />
<Compile Include="Generators\Firebird\FirebirdTruncator.cs" />
<Compile Include="Generators\SqlServer\SqlServer2012Generator.cs" />
<Compile Include="Processors\Firebird\FirebirdProcessedExpression.cs" />
<Compile Include="Generators\Firebird\FirebirdQuoter.cs" />
<Compile Include="Generators\Firebird\FirebirdTypeMap.cs" />
Expand Down Expand Up @@ -224,6 +225,7 @@
<Compile Include="Processors\ReflectionBasedDbFactory.cs" />
<Compile Include="Processors\Sqlite\SqliteDbFactory.cs" />
<Compile Include="Processors\SqlServer\SqlServer2000Processor.cs" />
<Compile Include="Processors\SqlServer\SqlServer2012ProcessorFactory.cs" />
<Compile Include="Processors\SqlServer\SqlServerCeDbFactory.cs" />
<Compile Include="Processors\SqlServer\SqlServerDbFactory.cs" />
<Compile Include="Processors\SqlServer\SqlServerCeProcessor.cs" />
Expand Down
Expand Up @@ -24,5 +24,10 @@ public SqlServer2008Generator()
: base(new SqlServerColumn(new SqlServer2008TypeMap()))
{
}

public SqlServer2008Generator(IColumn column)
:base(column)
{
}
}
}
@@ -0,0 +1,10 @@
namespace FluentMigrator.Runner.Generators.SqlServer
{
public class SqlServer2012Generator : SqlServer2008Generator
{
public SqlServer2012Generator()
:base(new SqlServerColumn(new SqlServer2008TypeMap()))
{
}
}
}
@@ -0,0 +1,14 @@
using FluentMigrator.Runner.Generators.SqlServer;

namespace FluentMigrator.Runner.Processors.SqlServer
{
public class SqlServer2012ProcessorFactory : MigrationProcessorFactory
{
public override IMigrationProcessor Create(string connectionString, IAnnouncer announcer, IMigrationProcessorOptions options)
{
var factory = new SqlServerDbFactory();
var connection = factory.CreateConnection(connectionString);
return new SqlServerProcessor(connection, new SqlServer2012Generator(), announcer, options, factory);
}
}
}
Expand Up @@ -55,6 +55,13 @@ public void CanRetrieveSqlServer2008FactoryWithArgumentString()
Assert.IsTrue(factory.GetType() == typeof(SqlServer2008ProcessorFactory));
}

[Test]
public void CanRetrieveSqlServer2012FactoryWithArgumentString()
{
IMigrationProcessorFactory factory = ProcessorFactory.GetFactory("SqlServer2012");
Assert.IsTrue(factory.GetType() == typeof(SqlServer2012ProcessorFactory));
}

[Test]
public void RetrievesSqlServerProcessorFactoryIfArgumentIsSqlServer()
{
Expand Down

0 comments on commit b83b8b4

Please sign in to comment.