fix #2567 - migrate tenant connection string details from database to appsettings.json

This commit is contained in:
Shaun Walker
2023-02-23 16:29:15 -05:00
parent 71dd00da0f
commit f2df8e96db
33 changed files with 562 additions and 309 deletions

View File

@ -1,11 +1,10 @@
using System;
using System.Collections.Generic;
using System;
using System.Data;
using System.IO;
using System.Linq;
using System.Reflection;
using Microsoft.Extensions.Configuration;
using Oqtane.Databases.Interfaces;
using Oqtane.Interfaces;
using Oqtane.Models;
// ReSharper disable ConvertToUsingDeclaration
// ReSharper disable InvertIf
@ -15,6 +14,13 @@ namespace Oqtane.Repository
{
public class SqlRepository : ISqlRepository
{
private IConfigurationRoot _config;
public SqlRepository(IConfigurationRoot config)
{
_config = config;
}
public void ExecuteScript(Tenant tenant, string script)
{
// execute script in current tenant
@ -75,13 +81,19 @@ namespace Oqtane.Repository
public IDataReader ExecuteReader(Tenant tenant, string query)
{
var db = GetActiveDatabase(tenant.DBType);
return db.ExecuteReader(tenant.DBConnectionString, query);
return db.ExecuteReader(GetConnectionString(tenant.DBConnectionString), query);
}
public IDataReader ExecuteReader(string DBType, string DBConnectionString, string query)
{
var db = GetActiveDatabase(DBType);
return db.ExecuteReader(GetConnectionString(DBConnectionString), query);
}
public int ExecuteNonQuery(string connectionString, string databaseType, string query)
{
var db = GetActiveDatabase(databaseType);
return db.ExecuteNonQuery(connectionString, query);
return db.ExecuteNonQuery(GetConnectionString(connectionString), query);
}
public string GetScriptFromAssembly(Assembly assembly, string fileName)
@ -119,5 +131,14 @@ namespace Oqtane.Repository
return activeDatabase;
}
private string GetConnectionString(string connectionString)
{
if (!connectionString.Contains("="))
{
connectionString = _config.GetConnectionString(connectionString);
}
return connectionString;
}
}
}