11#include <nlohmann/json.hpp>
12#include "private-impl/soci_custom_types.hpp"
14#include "../app/app.h"
21 using json = nlohmann::json;
57 [[nodiscard]] std::shared_ptr<soci::session>
session()
const;
77 void writeCheckpoint()
const;
79 std::unique_ptr<soci::connection_pool> m_connPool;
95 logger_impl::start_query(query);
105 logger_impl* do_clone()
const override
Database Management Class.
Definition database.h:29
~DatabaseUnit()
Definition database.cpp:27
std::shared_ptr< soci::session > session() const
Get access to a session from the pool.
Definition database.cpp:209
DatabaseUnit()
Definition database.cpp:23
void disconnect() const
CLose all database connections and destroy connection pools.
Definition database.cpp:144
bool migrate() const
Run database migrations, creates the default system tables.
Definition database.cpp:162
const std::string __class_name__
Definition database.h:71
soci::connection_pool & connectionPool() const
Definition database.cpp:214
bool connect(DbType backend, const std::string &conn_str)
Initializes the connection pool & connects to specific database.
Definition database.cpp:32
bool isConnected() const
Check if the database is connected.
Definition database.cpp:219
static void trace(fmt::format_string< Args... > msg, Args &&... args)
Definition logging.h:45
Logger implementation for soci, allowing us to override the default logging behaviour with our own cu...
Definition database.h:87
void start_query(std::string const &query) override
Called before query is executed by soci, we can log the query here.
Definition database.h:93
Wrapper around spdlog's functionality.
nlohmann::json json
Definition mantis.h:35
router.h
Definition app.h:31
DbType
Enum for which database is currently selected.
Definition app.h:46