add defensive logic to handle scenario where a tenant connection string does not exist in appsettings.json
This commit is contained in:
parent
077343ca20
commit
85f9597f2c
|
@ -398,7 +398,7 @@ namespace Oqtane.Infrastructure
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
result.Message = "An Error Occurred Executing Upgrade Logic. " + ex.ToString();
|
result.Message = "An Error Occurred Executing Upgrade Logic On Tenant " + tenant.Name + ". " + ex.ToString();
|
||||||
_filelogger.LogError(Utilities.LogMessage(this, result.Message));
|
_filelogger.LogError(Utilities.LogMessage(this, result.Message));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -468,7 +468,7 @@ namespace Oqtane.Infrastructure
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
result.Message = "An Error Occurred Installing " + moduleDefinition.Name + " Version " + versions[i] + " - " + ex.ToString();
|
result.Message = "An Error Occurred Installing " + moduleDefinition.Name + " Version " + versions[i] + " On Tenant " + tenant.Name + " - " + ex.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,13 +45,20 @@ namespace Oqtane.Repository
|
||||||
Tenant tenant = _tenantManager.GetTenant();
|
Tenant tenant = _tenantManager.GetTenant();
|
||||||
if (tenant != null)
|
if (tenant != null)
|
||||||
{
|
{
|
||||||
_connectionString = _config.GetConnectionString(tenant.DBConnectionString)
|
_connectionString = _config.GetConnectionString(tenant.DBConnectionString);
|
||||||
.Replace($"|{Constants.DataDirectory}|", AppDomain.CurrentDomain.GetData(Constants.DataDirectory)?.ToString());
|
if (_connectionString != null)
|
||||||
|
{
|
||||||
|
_connectionString = _connectionString.Replace($"|{Constants.DataDirectory}|", AppDomain.CurrentDomain.GetData(Constants.DataDirectory)?.ToString());
|
||||||
_databaseType = tenant.DBType;
|
_databaseType = tenant.DBType;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// tenant connection string does not exist in appsettings.json
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!String.IsNullOrEmpty(_databaseType))
|
if (!string.IsNullOrEmpty(_databaseType))
|
||||||
{
|
{
|
||||||
var type = Type.GetType(_databaseType);
|
var type = Type.GetType(_databaseType);
|
||||||
ActiveDatabase = Activator.CreateInstance(type) as IDatabase;
|
ActiveDatabase = Activator.CreateInstance(type) as IDatabase;
|
||||||
|
|
|
@ -93,8 +93,16 @@ namespace Oqtane.Repository
|
||||||
public int ExecuteNonQuery(string connectionString, string databaseType, string query)
|
public int ExecuteNonQuery(string connectionString, string databaseType, string query)
|
||||||
{
|
{
|
||||||
var db = GetActiveDatabase(databaseType);
|
var db = GetActiveDatabase(databaseType);
|
||||||
|
var connectionstring = GetConnectionString(connectionString);
|
||||||
|
if (connectionstring != null)
|
||||||
|
{
|
||||||
return db.ExecuteNonQuery(GetConnectionString(connectionString), query);
|
return db.ExecuteNonQuery(GetConnectionString(connectionString), query);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public string GetScriptFromAssembly(Assembly assembly, string fileName)
|
public string GetScriptFromAssembly(Assembly assembly, string fileName)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user