Mantis App v0.1.13
Loading...
Searching...
No Matches
mantis::DatabaseUnit Class Reference

Database Management Class. More...

#include <database.h>

Public Member Functions

 DatabaseUnit ()
 
bool connect (DbType backend, const std::string &conn_str)
 Initializes the connection pool & connects to specific database.
 
void disconnect () const
 CLose all database connections and destroy connection pools.
 
void migrate () const
 Run database migrations, creates the default system tables.
 
std::shared_ptr< soci::session > session () const
 Get access to a session from the pool.
 
soci::connection_pool & connectionPool () const
 
bool isConnected () const
 Check if the database is connected.
 

Static Public Member Functions

static std::string tmToISODate (const std::tm &t)
 Convert c++ std::tm date/time value to ISO formatted string.
 

Public Attributes

const std::string __class_name__ = "mantis::DatabaseUnit"
 

Detailed Description

Database Management Class.

The class handles database connections, pooling and sessions.

Constructor & Destructor Documentation

◆ DatabaseUnit()

mantis::DatabaseUnit::DatabaseUnit ( )

Member Function Documentation

◆ connect()

bool mantis::DatabaseUnit::connect ( DbType  backend,
const std::string &  conn_str 
)

Initializes the connection pool & connects to specific database.

Parameters
backendDatabase Type selected [SQLITE, PSQL, MYSQL, etc.]
conn_strConnection string for database containing username, password, etc. Not used for SQLite dbs.
Returns
A flag whether connection was successful or not.

◆ connectionPool()

soci::connection_pool & mantis::DatabaseUnit::connectionPool ( ) const

Access to the underlying soci connection_pool instance

Returns
A reference to the soci::connection_pool instance

◆ disconnect()

void mantis::DatabaseUnit::disconnect ( ) const

CLose all database connections and destroy connection pools.

◆ isConnected()

bool mantis::DatabaseUnit::isConnected ( ) const

Check if the database is connected.

Returns
Flag of the database connection

◆ migrate()

void mantis::DatabaseUnit::migrate ( ) const

Run database migrations, creates the default system tables.

◆ session()

std::shared_ptr< soci::session > mantis::DatabaseUnit::session ( ) const

Get access to a session from the pool.

Returns
A shared pointer to soci::session

◆ tmToISODate()

std::string mantis::DatabaseUnit::tmToISODate ( const std::tm &  t)
static

Convert c++ std::tm date/time value to ISO formatted string.

Parameters
tstd::tm value
Returns
ISO formatted datetime value

Member Data Documentation

◆ __class_name__

const std::string mantis::DatabaseUnit::__class_name__ = "mantis::DatabaseUnit"

The documentation for this class was generated from the following files: