Make LocalDB database installation more robust
This commit is contained in:
@ -3,6 +3,9 @@ using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.AspNetCore.Blazor.Hosting;
|
||||
using Microsoft.AspNetCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System;
|
||||
|
||||
namespace Oqtane.Server
|
||||
{
|
||||
@ -11,6 +14,7 @@ namespace Oqtane.Server
|
||||
#if DEBUG || RELEASE
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
PrepareConfiguration();
|
||||
CreateHostBuilder(args).Build().Run();
|
||||
}
|
||||
|
||||
@ -25,6 +29,7 @@ namespace Oqtane.Server
|
||||
#if WASM
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
PrepareConfiguration();
|
||||
BuildWebHost(args).Run();
|
||||
}
|
||||
|
||||
@ -36,5 +41,25 @@ namespace Oqtane.Server
|
||||
.UseStartup<Startup>()
|
||||
.Build();
|
||||
#endif
|
||||
|
||||
private static void PrepareConfiguration()
|
||||
{
|
||||
string config = "";
|
||||
using (StreamReader reader = new StreamReader(Directory.GetCurrentDirectory() + "\\appsettings.json"))
|
||||
{
|
||||
config = reader.ReadToEnd();
|
||||
}
|
||||
// if using LocalDB create a unique database name
|
||||
if (config.Contains("AttachDbFilename=|DataDirectory|\\\\Oqtane.mdf"))
|
||||
{
|
||||
string timestamp = DateTime.Now.ToString("yyyyMMddHHmm");
|
||||
config = config.Replace("Initial Catalog=Oqtane", "Initial Catalog=Oqtane-" + timestamp)
|
||||
.Replace("AttachDbFilename=|DataDirectory|\\\\Oqtane.mdf", "AttachDbFilename=|DataDirectory|\\\\Oqtane-" + timestamp + ".mdf");
|
||||
using (StreamWriter writer = new StreamWriter(Directory.GetCurrentDirectory() + "\\appsettings.json"))
|
||||
{
|
||||
writer.WriteLine(config);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user