mirror of
https://github.com/claunia/marechai.git
synced 2025-12-16 19:14:25 +00:00
Move database configuration to settings file.
This commit is contained in:
@@ -30,6 +30,7 @@
|
|||||||
|
|
||||||
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
|
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
|
|
||||||
namespace Marechai.Database.Models
|
namespace Marechai.Database.Models
|
||||||
{
|
{
|
||||||
@@ -102,11 +103,9 @@ namespace Marechai.Database.Models
|
|||||||
if(optionsBuilder.IsConfigured)
|
if(optionsBuilder.IsConfigured)
|
||||||
return;
|
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.
|
IConfigurationBuilder builder = new ConfigurationBuilder().AddJsonFile("appsettings.json");
|
||||||
optionsBuilder.
|
IConfigurationRoot configuration = builder.Build();
|
||||||
UseMySql("server=zeus.claunia.com;port=3306;user=marechai;password=marechaipass;database=marechai");
|
optionsBuilder.UseMySql(configuration.GetConnectionString("DefaultConnection")).UseLazyLoadingProxies();
|
||||||
|
|
||||||
optionsBuilder.UseLazyLoadingProxies();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
<Version>3.0.99.1526</Version>
|
<Version>3.0.99.1529</Version>
|
||||||
<Company>Canary Islands Computer Museum</Company>
|
<Company>Canary Islands Computer Museum</Company>
|
||||||
<Copyright>Copyright © 2003-2020 Natalia Portillo</Copyright>
|
<Copyright>Copyright © 2003-2020 Natalia Portillo</Copyright>
|
||||||
<Product>Canary Islands Computer Museum Website</Product>
|
<Product>Canary Islands Computer Museum Website</Product>
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ using Marechai.Helpers;
|
|||||||
using Markdig;
|
using Markdig;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Version = DiscImageChef.Interop.Version;
|
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");
|
Console.WriteLine("\u001b[31;1mUpdating MySQL database without Entity Framework if it exists...\u001b[0m");
|
||||||
Database = new Mysql();
|
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");
|
string server = null, user = null, database = null, password = null;
|
||||||
Database.CloseDb();
|
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;
|
DateTime start = DateTime.Now;
|
||||||
|
|||||||
Reference in New Issue
Block a user