aboutsummaryrefslogtreecommitdiff
path: root/doc/manual.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual.xhtml')
-rw-r--r--doc/manual.xhtml27
1 files changed, 20 insertions, 7 deletions
diff --git a/doc/manual.xhtml b/doc/manual.xhtml
index 2f68865..dfdca31 100644
--- a/doc/manual.xhtml
+++ b/doc/manual.xhtml
@@ -2852,13 +2852,18 @@ namespace odb
{
public:
static void
- create_schema (database&, const std::string& name = "");
+ create_schema (database&,
+ const std::string& name = "",
+ bool drop = true);
+
+ static void
+ drop_schema (database&, const std::string& name = "");
static bool
- exists (database_id, const std::string& name);
+ exists (database_id, const std::string& name = "");
static bool
- exists (const database&, const std::string& name)
+ exists (const database&, const std::string& name = "")
};
}
</pre>
@@ -2871,13 +2876,21 @@ namespace odb
have several separate schemas, you can use the
<code>--schema-name</code> ODB compiler option to assign
custom schema names and then use these names as a second argument
- to <code>create_schema()</code>. If the schema is not found,
- <code>create_schema()</code> throws the
+ to <code>create_schema()</code>. By default, <code>create_schema()</code>
+ will also delete all the database objects (tables, indexes, etc.) if
+ they exist prior to creating the new ones. You can change this
+ behavior by passing <code>false</code> as the third argument. The
+ <code>drop_schema()</code> function allows you to delete all the
+ database objects without creating the new ones.</p>
+
+ <p>If the schema is not found, the <code>create_schema()</code> and
+ <code>drop_schema()</code> functions throw the
<code>odb::unknown_schema</code> exception. You can use the
<code>exists()</code> function to check whether a schema for the
specified database and with the specified name exists in the
- catalog. Note also that the <code>create_schema()</code> function
- should be called within a transaction.</p>
+ catalog. Note also that the <code>create_schema()</code> and
+ <code>drop_schema()</code> functions should be called within a
+ transaction.</p>
<p>Finally, we can also use a custom database schema with ODB. This approach
can work similarly to the standalone SQL file described above except that