Adding schema validation to the DatabaseSchemaCreation class.

Helps determine if valid database exists and which version it corresponds to.
On startup the legacy connectionstring is used if one exists, so its not ignore but rather reconfigured.
Relates to U4-1520.
This commit is contained in:
Morten Christensen
2013-01-25 15:05:42 -01:00
parent 309f337461
commit 7aabf459ea
16 changed files with 547 additions and 34 deletions

View File

@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Persistence.DatabaseAnnotations;
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
@@ -39,6 +40,27 @@ namespace Umbraco.Core.Persistence.SqlSyntax
DefaultValueFormat = "DEFAULT '{0}'";
}
public override IEnumerable<string> GetTablesInSchema(Database db)
{
var items = db.Fetch<dynamic>("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES");
return items.Select(x => x.TABLE_NAME).Cast<string>().ToList();
}
public override IEnumerable<ColumnInfo> GetColumnsInSchema(Database db)
{
return new List<ColumnInfo>();
}
public override IEnumerable<Tuple<string, string>> GetConstraintsPerTable(Database db)
{
return new List<Tuple<string, string>>();
}
public override IEnumerable<Tuple<string, string, string>> GetConstraintsPerColumn(Database db)
{
return new List<Tuple<string, string, string>>();
}
public override bool DoesTableExist(Database db, string tableName)
{
long result;