summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2015-05-02 13:57:28 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2015-05-02 13:57:28 +0200
commit10e1bb55e479e003164cb0e87ed023b455e567b0 (patch)
tree48888c62ffa1b574a1f327b009df0b556b2498f8
parent22fcc60f0f076f83422d71a2a06c52c62354eecf (diff)
downloadaCms-10e1bb55e479e003164cb0e87ed023b455e567b0.tar.gz
aCms-10e1bb55e479e003164cb0e87ed023b455e567b0.tar.bz2
enable foreign keys if the cppdb driver is 'sqlite3'
-rw-r--r--src/strusCms.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/strusCms.cpp b/src/strusCms.cpp
index 137a209..3858b32 100644
--- a/src/strusCms.cpp
+++ b/src/strusCms.cpp
@@ -3,6 +3,20 @@
#include <cppcms/url_mapper.h>
#include <cppcms/http_response.h>
#include <cppcms/json.h>
+#include <cppdb/frontend.h>
+
+namespace {
+
+void setup_dbconnection( cppdb::session &sql )
+{
+ std::string driver = sql.driver( );
+
+ if( driver == "sqlite3" ) {
+ sql << "PRAGMA foreign_keys = 1" << cppdb::exec;
+ }
+}
+
+}
namespace apps {
@@ -21,6 +35,9 @@ strusCms::strusCms( cppcms::service &srv )
locale_name = "en";
script = settings( ).get<std::string>( "strusCms.script" );
+ cppdb::session sql( conn );
+ sql.once( setup_dbconnection );
+
add( intro );
add( user );