Merge branch 'dev-v8-fix' into dev-v8

This commit is contained in:
Sebastiaan Janssen
2019-02-26 09:17:47 +01:00
2 changed files with 21 additions and 16 deletions

View File

@@ -119,9 +119,23 @@ namespace Umbraco.Core.Persistence
}
/// <inheritdoc />
public bool CanConnect => Configured && DbConnectionExtensions.IsConnectionAvailable(_connectionString, _providerName);
public bool CanConnect
{
get
{
if (!Configured || !DbConnectionExtensions.IsConnectionAvailable(_connectionString, _providerName)) return false;
private DatabaseType DetectSqlServerVersion()
if (_serverVersionDetected) return true;
if (_databaseType.IsSqlServer())
DetectSqlServerVersion();
_serverVersionDetected = true;
return true;
}
}
private void DetectSqlServerVersion()
{
// replace NPoco database type by a more efficient one
@@ -138,28 +152,22 @@ namespace Umbraco.Core.Persistence
fromSettings = true;
}
DatabaseType databaseType;
switch (versionName)
{
case SqlServerSyntaxProvider.VersionName.V2008:
databaseType = DatabaseType.SqlServer2008;
_databaseType = DatabaseType.SqlServer2008;
break;
case SqlServerSyntaxProvider.VersionName.V2012:
case SqlServerSyntaxProvider.VersionName.V2014:
case SqlServerSyntaxProvider.VersionName.V2016:
case SqlServerSyntaxProvider.VersionName.V2017:
databaseType = DatabaseType.SqlServer2012;
_databaseType = DatabaseType.SqlServer2012;
break;
// else leave unchanged
default:
databaseType = _databaseType;
break;
}
_logger.Debug<UmbracoDatabaseFactory>("SqlServer {SqlServerVersion}, DatabaseType is {DatabaseType} ({Source}).",
versionName, databaseType, fromSettings ? "settings" : "detected");
return databaseType;
versionName, _databaseType, fromSettings ? "settings" : "detected");
}
/// <inheritdoc />
@@ -216,9 +224,6 @@ namespace Umbraco.Core.Persistence
if (_npocoDatabaseFactory == null) throw new NullReferenceException("The call to UmbracoDatabaseFactory.Config yielded a null UmbracoDatabaseFactory instance.");
if (_databaseType.IsSqlServer() && DbConnectionExtensions.IsConnectionAvailable(_connectionString, _providerName))
_databaseType = DetectSqlServerVersion();
SqlContext = new SqlContext(_sqlSyntax, _databaseType, _pocoDataFactory, _mappers);
_logger.Debug<UmbracoDatabaseFactory>("Configured.");

View File

@@ -340,9 +340,9 @@
<WebProjectProperties>
<UseIIS>False</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>8100</DevelopmentServerPort>
<DevelopmentServerPort>8000</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:8100</IISUrl>
<IISUrl>http://localhost:8000</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>