SyncroDB::SyncroDB( const std::string& insFilename ) : kode::db::SqliteDatabase( insFilename ) { int nCurrentVersion = runScalar<int>( "PRAGMA user_version;" ); if( nCurrentVersion != EXPECTED_DB_VERSION ) { bool fOK; if( nCurrentVersion == 0 ) { fOK = CreateDatabase(); } else { fOK = UpgradeDatabase( nCurrentVersion ); } if( fOK ) { runInsert( "PRAGMA user_version=" + boost::lexical_cast<std::string>( EXPECTED_DB_VERSION ) + ";" ); } } }
void FbConfigDatabase::Open() { wxString filename = GetConfigName(); bool bExists = wxFileExists(filename); FbDatabase::Open(filename, wxEmptyString, WXSQLITE_OPEN_READWRITE | WXSQLITE_OPEN_CREATE | WXSQLITE_OPEN_FULLMUTEX); ExecuteUpdate(fbT("PRAGMA temp_store=2")); if (!bExists) CreateDatabase(); UpgradeDatabase(DB_CONFIG_VERSION); }
void FbMainDatabase::Open(const wxString& filename, const wxString& key, int flags) { FbDatabase::Open(filename, key, flags); ExecuteUpdate(fbT("PRAGMA temp_store=2")); bool bExists = TableExists(GetMaster()); InitFunctions(); wxString message = bExists ? _("Open database") : _("Create database"); FbLogMessage(message, filename); if (!bExists) CreateDatabase(); UpgradeDatabase(DB_DATABASE_VERSION); }