Merge branch 'dev-v8-fix' into dev-v8
This commit is contained in:
@@ -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.");
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user