Files
CS2-SimpleAdmin/Database/Database.cs
Dawid Bepierszcz 270b36fa26 1.3.9a
**MAJOR UPDATE**

- New database schema
- Added `css_admins_flags` table
- Added `css_unmutes` table
- Added `css_unbans` table
2024-04-20 18:56:41 +02:00

61 lines
1.1 KiB
C#

using Microsoft.Extensions.Logging;
using MySqlConnector;
namespace CS2_SimpleAdmin;
public class Database(string dbConnectionString)
{
private readonly string _dbConnectionString = dbConnectionString;
public MySqlConnection GetConnection()
{
try
{
var connection = new MySqlConnection(_dbConnectionString);
connection.Open();
return connection;
}
catch (Exception ex)
{
if (CS2_SimpleAdmin._logger != null)
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 MySqlConnection connection = GetConnection();
try
{
return connection.Ping();
}
catch
{
return false;
}
}
}