summaryrefslogtreecommitdiff
path: root/odb/semantics/relational/foreign-key.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-04-08 11:13:51 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-04-10 18:46:44 +0200
commita4f25daf17392c9c4b90de60b9d777290706f667 (patch)
treee3b4903ac35eb2ec4c44cfc7ce630f5d964c7b3d /odb/semantics/relational/foreign-key.cxx
parent2fa6a4d00945866e62d980270d5807f3abca75ab (diff)
Generate add/drop foreign key migration statements
Also add the --fkeys-deferrable-mode option. General schemas generation rework.
Diffstat (limited to 'odb/semantics/relational/foreign-key.cxx')
-rw-r--r--odb/semantics/relational/foreign-key.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/odb/semantics/relational/foreign-key.cxx b/odb/semantics/relational/foreign-key.cxx
index 0407858..8188e1f 100644
--- a/odb/semantics/relational/foreign-key.cxx
+++ b/odb/semantics/relational/foreign-key.cxx
@@ -50,7 +50,7 @@ namespace semantics
: key (k, s, g),
referenced_table_ (k.referenced_table_),
referenced_columns_ (k.referenced_columns_),
- deferred_ (k.deferred_),
+ deferrable_ (k.deferrable_),
on_delete_ (k.on_delete_)
{
}
@@ -58,7 +58,7 @@ namespace semantics
foreign_key::
foreign_key (xml::parser& p, uscope& s, graph& g)
: key (p, s, g),
- deferred_ (p.attribute ("deferred", false)),
+ deferrable_ (p.attribute ("deferrable", deferrable_type ())),
on_delete_ (p.attribute ("on-delete", no_action))
{
using namespace xml;
@@ -94,8 +94,8 @@ namespace semantics
{
key::serialize_attributes (s);
- if (deferred ())
- s.attribute ("deferred", true);
+ if (deferrable () != deferrable_type::not_deferrable)
+ s.attribute ("deferrable", deferrable ());
if (on_delete () != no_action)
s.attribute ("on-delete", on_delete ());