diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2013-04-04 09:47:32 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2013-04-10 18:46:44 +0200 |
commit | 6d4b471afd63780b8a8a6c2d3fb8cc529ab5b15d (patch) | |
tree | d4cf0158f1b2ac03736b662003dbd11b556babef /odb/relational/schema.cxx | |
parent | b0391e168b489811708ca7ba5f71a0eb67b46ffe (diff) |
Generate add/drop index migration statements
Diffstat (limited to 'odb/relational/schema.cxx')
-rw-r--r-- | odb/relational/schema.cxx | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/odb/relational/schema.cxx b/odb/relational/schema.cxx index e764790..56fb7c0 100644 --- a/odb/relational/schema.cxx +++ b/odb/relational/schema.cxx @@ -96,11 +96,14 @@ namespace relational schema_format f (schema_format::sql); - instance<migrate_pre_changeset> changeset (*em, emos, f); + instance<changeset_pre> changeset (*em, emos, f); instance<create_table> ctable (*em, emos, f); + instance<alter_table_pre> atable (*em, emos, f); trav_rel::qnames names; - changeset >> names >> ctable; + changeset >> names; + names >> ctable; + names >> atable; // Pass 1 and 2. // @@ -108,6 +111,7 @@ namespace relational { changeset->pass (pass); ctable->pass (pass); + atable->pass (pass); changeset->traverse (cs); } @@ -122,11 +126,16 @@ namespace relational schema_format f (schema_format::sql); - instance<migrate_post_changeset> changeset (*em, emos, f); + instance<changeset_post> changeset (*em, emos, f); instance<drop_table> dtable (*em, emos, f); + instance<alter_table_post> altable (*em, emos, f); + trav_rel::add_table adtable; // Override. trav_rel::qnames names; - changeset >> names >> dtable; + changeset >> names; + names >> dtable; + names >> altable; + names >> adtable; // Pass 1 and 2. // @@ -134,6 +143,7 @@ namespace relational { changeset->pass (pass); dtable->pass (pass); + altable->pass (pass); changeset->traverse (cs); } |