diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-03-17 14:54:13 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-03-17 14:54:13 -0700 |
| commit | 49a2450e76488780987fbd247d2f3984899957b0 (patch) | |
| tree | 9baa3637bddfe9488b80c48149711fec646f53d7 /netconf/SqliteNetworkConfigMaster.cpp | |
| parent | 278c8fd9f1a36bc7b81cbfd50b93626d5341b8de (diff) | |
| download | infinitytier-49a2450e76488780987fbd247d2f3984899957b0.tar.gz infinitytier-49a2450e76488780987fbd247d2f3984899957b0.zip | |
Include the Sqlite schema to auto-init the database.
Diffstat (limited to 'netconf/SqliteNetworkConfigMaster.cpp')
| -rw-r--r-- | netconf/SqliteNetworkConfigMaster.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/netconf/SqliteNetworkConfigMaster.cpp b/netconf/SqliteNetworkConfigMaster.cpp index 8361a276..1dfb1a44 100644 --- a/netconf/SqliteNetworkConfigMaster.cpp +++ b/netconf/SqliteNetworkConfigMaster.cpp @@ -42,6 +42,9 @@ #include "../node/CertificateOfMembership.hpp" #include "../node/NetworkConfig.hpp" +// Include ZT_NETCONF_SCHEMA_SQL constant to init database +#include "netconf-schema.sql.c" + // Stored in database as schemaVersion key in Config. // If not present, database is assumed to be empty and at the current schema version // and this key/value is added automatically. @@ -52,13 +55,13 @@ namespace ZeroTier { SqliteNetworkConfigMaster::SqliteNetworkConfigMaster(const Identity &signingId,const char *dbPath) : _signingId(signingId), _dbPath(dbPath), - _db((sqlite3 *)0) + _db((sqlite3 *)0), _lock() { if (!_signingId.hasPrivate()) throw std::runtime_error("SqliteNetworkConfigMaster signing identity must have a private key"); - if (sqlite3_open_v2(dbPath,&_db,SQLITE_OPEN_READWRITE,(const char *)0) != SQLITE_OK) + if (sqlite3_open_v2(dbPath,&_db,SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE,(const char *)0) != SQLITE_OK) throw std::runtime_error("SqliteNetworkConfigMaster cannot open database file"); sqlite3_busy_timeout(_db,10000); } |
