summaryrefslogtreecommitdiff
path: root/docs/ref/databases.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ref/databases.txt')
-rw-r--r--docs/ref/databases.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index f4656adf96..cd6c50903a 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -699,6 +699,22 @@ Naming issues
Oracle imposes a name length limit of 30 characters. To accommodate this, the
backend truncates database identifiers to fit, replacing the final four
characters of the truncated name with a repeatable MD5 hash value.
+Additionally, the backend turns database identifiers to all-uppercase.
+
+To prevent these transformations (this is usually required only when dealing
+with legacy databases or accessing tables which belong to other users), use
+a quoted name as the value for ``db_table``::
+
+ class LegacyModel(models.Model):
+ class Meta:
+ db_table = '"name_left_in_lowercase"'
+
+ class ForeignModel(models.Model):
+ class Meta:
+ db_table = '"OTHER_USER"."NAME_ONLY_SEEMS_OVER_30"'
+
+Quoted names can also be used with Django's other supported database
+backends; except for Oracle, however, the quotes have no effect.
When running syncdb, an ``ORA-06552`` error may be encountered if
certain Oracle keywords are used as the name of a model field or the