3 #include "ypc/core/configuration.h"
11 db_base(
const std::string &url,
const std::string &usrname,
12 const std::string &passwd,
const std::string &dbname);
13 virtual void create_tables() = 0;
14 virtual void clear_tables() = 0;
16 ::ff::sql::mysql<::ff::sql::cppconn> *db_engine_ptr();
19 void init_db(
const std::string &url,
const std::string &usrname,
20 const std::string &passwd,
const std::string &dbname);
23 std::shared_ptr<::ff::sql::mysql<::ff::sql::cppconn>> m_db_engine;
26 template <
typename DB>
27 std::shared_ptr<ypc::db_base> construct_db_ptr(
const std::string &filename) {
28 db_info_t dbinfo = configuration::instance().read_db_config_file(filename);
29 std::shared_ptr<ypc::db_base> base_ptr =
30 std::make_shared<DB>(dbinfo.get<db_url>(), dbinfo.get<db_usr>(),
31 dbinfo.get<db_pass>(), dbinfo.get<db_dbname>());