diff options
-rw-r--r-- | odb/relational/schema.hxx | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/odb/relational/schema.hxx b/odb/relational/schema.hxx index ada459d..28a893a 100644 --- a/odb/relational/schema.hxx +++ b/odb/relational/schema.hxx @@ -189,12 +189,7 @@ namespace relational type (m); constraints (m); - - if (semantics::class_* c = object_pointer (member_type (m, prefix_))) - { - os << " REFERENCES " << quote_id (table_name (*c)) << " (" << - quote_id (column_name (*id_member (*c))) << ")"; - } + reference (m); return true; } @@ -212,6 +207,16 @@ namespace relational os << " PRIMARY KEY"; } + virtual void + reference (semantics::data_member& m) + { + if (semantics::class_* c = object_pointer (member_type (m, prefix_))) + { + os << " REFERENCES " << quote_id (table_name (*c)) << " (" << + quote_id (column_name (*id_member (*c))) << ")"; + } + } + protected: string prefix_; }; |