1 #line 2 "src/Dbo/SessionGnuCashew.cpp"
5 #include <Wt/Dbo/backend/Sqlite3.h>
20 open(
const std::string & _path )
40 m_users = std::make_unique< GCW::Dbo::Users::UserDatabase >( *
this );
48 auto connection = std::make_unique< Wt::Dbo::backend::Sqlite3 >( _path );
52 setConnection( std::move( connection ) );
60 catch( std::exception & e )
62 std::cout << __FILE__ <<
":" << __LINE__ <<
" " << e.what() << std::endl;
82 using ResultRow = std::tuple< std::string, std::string, std::string, int, std::string >;
87 Wt::Dbo::Transaction t( *
this );
91 "select type,name,tbl_name,rootpage,sql from sqlite_master"
99 for(
auto result : results )
103 std::string tbl_name;
107 std::tie( _type, _name, tbl_name, rootpage, _text ) = result;
109 if( _type !=
"table" )
119 std::cout << __FILE__ <<
":" << __LINE__
139 if( hasGnuCashewExtensions() )
142 Wt::Dbo::Transaction t( *
this );
148 for(
int i=0; i< 5; i++ )
150 auto key = Wt::WString(
"gcw_sql.create.{1}").arg( i ).toUTF8();
151 auto sql =
TR( key ).toUTF8();
162 item.modify()-> setVar(
"gcwVersion", 1 );
auto isOpen() const -> bool
auto open(const std::string &_path) -> bool
Open a database.
bool addGnuCashewExtensions()
Add GnuCashew Extensions.
bool open(const std::string &_path)
Open a database.
std::unique_ptr< GCW::Dbo::Users::UserDatabase > m_users
bool hasGnuCashewExtensions()
Check GnuCashew Extensions.
auto currentDateTime() -> Wt::WDateTime
Current Date/Time.
auto mapClasses(Wt::Dbo::Session &session) -> void
GCW::Dbo::Vars::Item::Ptr get(const std::string &_keyValue, const std::string &_cfyValue="*", bool _add=true)
auto toString(int _value) -> std::string
Convert Integer to String.