Move database configuration to settings file.

This commit is contained in:
2020-05-31 23:18:42 +01:00
parent 6718320d55
commit d4e4c0182b
3 changed files with 52 additions and 10 deletions

View File

@@ -30,6 +30,7 @@
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
namespace Marechai.Database.Models
{
@@ -102,11 +103,9 @@ namespace Marechai.Database.Models
if(optionsBuilder.IsConfigured)
return;
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http: //go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
optionsBuilder.
UseMySql("server=zeus.claunia.com;port=3306;user=marechai;password=marechaipass;database=marechai");
optionsBuilder.UseLazyLoadingProxies();
IConfigurationBuilder builder = new ConfigurationBuilder().AddJsonFile("appsettings.json");
IConfigurationRoot configuration = builder.Build();
optionsBuilder.UseMySql(configuration.GetConnectionString("DefaultConnection")).UseLazyLoadingProxies();
}
protected override void OnModelCreating(ModelBuilder modelBuilder)

View File

@@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<Version>3.0.99.1526</Version>
<Version>3.0.99.1529</Version>
<Company>Canary Islands Computer Museum</Company>
<Copyright>Copyright © 2003-2020 Natalia Portillo</Copyright>
<Product>Canary Islands Computer Museum Website</Product>

View File

@@ -37,6 +37,7 @@ using Marechai.Helpers;
using Markdig;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Version = DiscImageChef.Interop.Version;
@@ -114,12 +115,54 @@ namespace Marechai
Console.WriteLine("\u001b[31;1mUpdating MySQL database without Entity Framework if it exists...\u001b[0m");
Database = new Mysql();
bool res = Database.OpenDb("zeus.claunia.com", "marechai", "marechai", "marechaipass", 3306);
if(res)
IConfigurationBuilder builder = new ConfigurationBuilder().AddJsonFile("appsettings.json");
IConfigurationRoot configuration = builder.Build();
string connectionString = configuration.GetConnectionString("DefaultConnection");
if(connectionString is null)
Console.WriteLine("\u001b[31;1mCould not find a correct connection string...\u001b[0m");
else
{
Console.WriteLine("\u001b[31;1mClosing database...\u001b[0m");
Database.CloseDb();
string server = null, user = null, database = null, password = null;
ushort port = 0;
string[] pieces = connectionString.Split(";");
foreach(string piece in pieces)
{
if(piece.StartsWith("server=", StringComparison.Ordinal))
server = piece.Substring(7);
else if(piece.StartsWith("user=", StringComparison.Ordinal))
user = piece.Substring(5);
else if(piece.StartsWith("password=", StringComparison.Ordinal))
password = piece.Substring(9);
else if(piece.StartsWith("database=", StringComparison.Ordinal))
database = piece.Substring(9);
else if(piece.StartsWith("port=", StringComparison.Ordinal))
{
string portString = piece.Substring(5);
ushort.TryParse(portString, out port);
}
}
if(server is null ||
user is null ||
database is null ||
password is null ||
port == 0)
Console.WriteLine("\u001b[31;1mCould not find a correct connection string...\u001b[0m");
else
{
bool res = Database.OpenDb(server, user, database, password, port);
if(res)
{
Console.WriteLine("\u001b[31;1mClosing database...\u001b[0m");
Database.CloseDb();
}
}
}
DateTime start = DateTime.Now;