From 1b07781292c2cef9367b521dc0f2b40f4d363083 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Tue, 20 May 2014 13:27:07 +0100 Subject: [PATCH] Add feature for implied null (needed for Firebird backend) --- django/db/backends/__init__.py | 3 +++ django/db/backends/schema.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) 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: