diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index 7a152ea0187..5ceddf40d84 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -717,6 +717,16 @@ class DatabaseWrapper(BaseDatabaseWrapper): @cached_property def version_has_default_introspection_bug(self): + """ + Some versions of Oracle -- we've seen this on 11.2.0.1 and suspect + it goes back -- have a weird bug where, when an integer column is + defined with a default, its precision is later reported on introspection + as 0, regardless of the real precision. For Django introspection, this + means that such columns are reported as IntegerField even if they are + really BigIntegerField or BooleanField. + + The bug is solved in Oracle 11.2.0.2 and up. + """ return self.oracle_full_version < '11.2.0.2'