Files
Umbraco-CMS/src/Umbraco.Tests/Persistence/SyntaxProvider/SqlSyntaxProviderTests.cs
Morten Christensen 64af0a610b Refactoring migrations by adding an abstract class to all expressions that allow for processing prior to returning an sql statement.
Refactoring the current sql syntax providers to better work with sql ce, sql server and mysql.
Adding migrations for v4.8 and v6.0.
Adding test cases for upgrading from 4.7 to 6.0 for the 3 database providers - sql ce, sql server and mysql.
Adding product name to the MigrationAttribute, which adds more flexibility to the MigrationRunner.
Fixing schema creation for mysql, which broke during a previous refactor task.
2012-12-27 18:52:47 -01:00

48 lines
1.4 KiB
C#

using System;
using NUnit.Framework;
using Umbraco.Core.Models.Rdbms;
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
using Umbraco.Core.Persistence.SqlSyntax;
namespace Umbraco.Tests.Persistence.SyntaxProvider
{
[TestFixture]
public class SqlSyntaxProviderTests
{
[SetUp]
public void SetUp()
{
SyntaxConfig.SqlSyntaxProvider = SqlCeSyntaxProvider.Instance;
}
[Test]
public void Can_Generate_Create_Table_Statement()
{
var type = typeof (NodeDto);
var definition = DefinitionFactory.GetTableDefinition(type);
string create = SyntaxConfig.SqlSyntaxProvider.Format(definition);
string primaryKey = SyntaxConfig.SqlSyntaxProvider.FormatPrimaryKey(definition);
var indexes = SyntaxConfig.SqlSyntaxProvider.Format(definition.Indexes);
var keys = SyntaxConfig.SqlSyntaxProvider.Format(definition.ForeignKeys);
Console.WriteLine(create);
Console.WriteLine(primaryKey);
foreach (var sql in keys)
{
Console.WriteLine(sql);
}
foreach (var sql in indexes)
{
Console.WriteLine(sql);
}
}
[TearDown]
public void TearDown()
{
SyntaxConfig.SqlSyntaxProvider = null;
}
}
}