summaryrefslogtreecommitdiff
path: root/odb/relational/schema.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-08-21 10:47:30 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-08-21 10:47:30 +0200
commit6a6095112daabd18d445ecf0d4c05e993e54236c (patch)
tree215997450ae13f63b0102d90daf41e104d1b0fc9 /odb/relational/schema.cxx
parenta26f4251e67ccaaaa848982946c8867443092ebe (diff)
Add support for multi-pass database schema drop
Diffstat (limited to 'odb/relational/schema.cxx')
-rw-r--r--odb/relational/schema.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/odb/relational/schema.cxx b/odb/relational/schema.cxx
index a347d49..c55837e 100644
--- a/odb/relational/schema.cxx
+++ b/odb/relational/schema.cxx
@@ -182,7 +182,7 @@ namespace relational
schema_emitter emitter;
- // Drop. It is essentially pass 0.
+ // Drop.
//
{
traversal::unit unit;
@@ -197,7 +197,14 @@ namespace relational
ns >> ns_defines >> ns;
ns_defines >> c;
- unit.dispatch (ctx.unit);
+
+ // Pass 1 and 2.
+ //
+ for (unsigned short pass (1); pass < 3; ++pass)
+ {
+ c->pass (pass);
+ unit.dispatch (ctx.unit);
+ }
}
os << endl;