summaryrefslogtreecommitdiff
path: root/odb/relational/schema.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/relational/schema.hxx')
-rw-r--r--odb/relational/schema.hxx17
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_;
};