aboutsummaryrefslogtreecommitdiff
path: root/schema/custom/database.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'schema/custom/database.hxx')
-rw-r--r--schema/custom/database.hxx16
1 files changed, 15 insertions, 1 deletions
diff --git a/schema/custom/database.hxx b/schema/custom/database.hxx
index 932e6c4..82441b7 100644
--- a/schema/custom/database.hxx
+++ b/schema/custom/database.hxx
@@ -1,4 +1,4 @@
-// file : schema/custom/database.hxx
+// file : template/database.hxx
// author : Boris Kolpackov <boris@codesynthesis.com>
// copyright : not copyrighted - public domain
@@ -20,6 +20,8 @@
# include <odb/mysql/database.hxx>
#elif defined(DATABASE_SQLITE)
# include <odb/sqlite/database.hxx>
+#elif defined(DATABASE_PGSQL)
+# include <odb/pgsql/database.hxx>
#endif
inline std::auto_ptr<odb::database>
@@ -37,6 +39,8 @@ create_database (int& argc, char* argv[])
odb::mysql::database::print_usage (cerr);
#elif defined(DATABASE_SQLITE)
odb::sqlite::database::print_usage (cerr);
+#elif defined(DATABASE_PGSQL)
+ odb::pgsql::database::print_usage (cerr);
#endif
exit (0);
@@ -48,6 +52,16 @@ create_database (int& argc, char* argv[])
auto_ptr<database> db (
new odb::sqlite::database (
argc, argv, false, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE));
+
+ // Create the database schema.
+ //
+ {
+ transaction t (db->begin ());
+ schema_catalog::create_schema (*db);
+ t.commit ();
+ }
+#elif defined(DATABASE_PGSQL)
+ auto_ptr<database> db (new odb::pgsql::database (argc, argv));
#endif
return db;