aboutsummaryrefslogtreecommitdiff
path: root/odb/options.cli
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/options.cli
parent2fa6a4d00945866e62d980270d5807f3abca75ab (diff)
Generate add/drop foreign key migration statements
Also add the --fkeys-deferrable-mode option. General schemas generation rework.
Diffstat (limited to 'odb/options.cli')
-rw-r--r--odb/options.cli16
1 files changed, 16 insertions, 0 deletions
diff --git a/odb/options.cli b/odb/options.cli
index 457c06f..569566d 100644
--- a/odb/options.cli
+++ b/odb/options.cli
@@ -169,6 +169,22 @@ class options
schema name, is used."
};
+ database_map<deferrable> --fkeys-deferrable-mode
+ {
+ "<m>",
+ "Use constraint checking mode <m> in foreign keys generated for object
+ relationships. Valid values for this option are \cb{not_deferrable},
+ \cb{immediate}, and \cb{deferred} (default). MySQL and SQL Server do
+ not support deferrable foreign keys and for these databases such keys
+ are generated commented out. Other foreign keys generated by the ODB
+ compiler (such as the ones used to support containers and polymorphic
+ hierarchies) are always generated as not deferrable.
+
+ Note also that if you use either \cb{not_deferrable} or \cb{immediate}
+ mode, then the order in which you persist, update, and erase objects
+ within a transaction becomes important."
+ };
+
std::string --default-pointer = "*"
{
"<ptr>",