diff --git a/django/db/backends/__init__.py b/django/db/backends/__init__.py index dfc967e60a..1b12a41caf 100644 --- a/django/db/backends/__init__.py +++ b/django/db/backends/__init__.py @@ -646,6 +646,9 @@ class BaseDatabaseFeatures(object): # Suffix for backends that don't support "SELECT xxx;" queries. bare_select_suffix = '' + # If NULL is implied on columns without needing to be explicitly specified + implied_column_null = False + uppercases_column_names = True def __init__(self, connection): diff --git a/django/db/backends/schema.py b/django/db/backends/schema.py index 2a62803a73..dcf3ad544b 100644 --- a/django/db/backends/schema.py +++ b/django/db/backends/schema.py @@ -132,9 +132,9 @@ class BaseDatabaseSchemaEditor(object): if (field.empty_strings_allowed and not field.primary_key and self.connection.features.interprets_empty_strings_as_nulls): null = True - if null: + if null and not self.connection.features.implied_column_null: sql += " NULL" - else: + elif not null: sql += " NOT NULL" # Primary key/unique outputs if field.primary_key: