mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-02-18 02:41:55 +00:00
- Possibility to use new line in translations - Improved initializing - More errors logging - Localized Message refactor
58 lines
1.0 KiB
C#
58 lines
1.0 KiB
C#
using Microsoft.Extensions.Logging;
|
|
using MySqlConnector;
|
|
|
|
namespace CS2_SimpleAdmin.Database;
|
|
|
|
public class Database(string dbConnectionString)
|
|
{
|
|
public MySqlConnection GetConnection()
|
|
{
|
|
try
|
|
{
|
|
var connection = new MySqlConnection(dbConnectionString);
|
|
connection.Open();
|
|
return connection;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
CS2_SimpleAdmin._logger?.LogCritical($"Unable to connect to database: {ex.Message}");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
public async Task<MySqlConnection> GetConnectionAsync()
|
|
{
|
|
try
|
|
{
|
|
var connection = new MySqlConnection(dbConnectionString);
|
|
await connection.OpenAsync();
|
|
return connection;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
CS2_SimpleAdmin._logger?.LogCritical($"Unable to connect to database: {ex.Message}");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
public void DatabaseMigration()
|
|
{
|
|
Migration migrator = new(this);
|
|
migrator.ExecuteMigrations();
|
|
}
|
|
|
|
public bool CheckDatabaseConnection()
|
|
{
|
|
using var connection = GetConnection();
|
|
|
|
try
|
|
{
|
|
return connection.Ping();
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|