Skip to content

oatpp/oatpp-sqlite

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
Fix
April 20, 2022 23:25
November 5, 2021 03:29
August 30, 2020 04:04
August 26, 2020 00:39
October 23, 2020 03:32

oatpp-sqlite Build Status

SQLite adapter for Oat++ ORM.

More about Oat++:

Build And Install

Pre Requirements

  • Install the main oatpp module.
  • Install SQLite.
    Note: You can also use -DOATPP_SQLITE_AMALGAMATION=ON to install oatpp-sqlite together with SQLite amalgamation in which case you don't need to install SQLite

Install module

  • Clone this repository.
  • In the root of the repository run:
    mkdir build && cd build
    cmake ..
    make install

API

Detailed documentation on Oat++ ORM you can find here.

Connect to Database

All you need to start using oatpp ORM with SQLite is to create oatpp::sqlite::Executor and provide it to your DbClient.

#include "db/MyClient.hpp"
#include "oatpp-sqlite/orm.hpp"

class AppComponent {
public:
  
  /**
   * Create DbClient component.
   * SQLite is used as an example here. For other databases declaration is similar.
   */
  OATPP_CREATE_COMPONENT(std::shared_ptr<db::MyClient>, myDatabaseClient)([] {
    /* Create database-specific ConnectionProvider */
    auto connectionProvider = std::make_shared<oatpp::sqlite::ConnectionProvider>("/path/to/database.sqlite");    
  
    /* Create database-specific ConnectionPool */
    auto connectionPool = oatpp::sqlite::ConnectionPool::createShared(connectionProvider, 
                                                                      10 /* max-connections */, 
                                                                      std::chrono::seconds(5) /* connection TTL */);
    
    /* Create database-specific Executor */
    auto executor = std::make_shared<oatpp::sqlite::Executor>(connectionPool);
  
    /* Create MyClient database client */
    return std::make_shared<MyClient>(executor);
  }());

};

License