From e8ddef57d8379f430456eee4253db612e72a63c2 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Tue, 6 Jan 2009 01:57:03 +0000 Subject: [PATCH] [1.0.X] Fixed #9862 -- For better SQL portability, don't specify "NULL" on nullable columns when creating tables. Patch from Ian Kelly. Columns are NULL by default, so we only need to use "NOT NULL" when we want non-default behaviour. Backport of r9703 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9704 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/backends/creation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/django/db/backends/creation.py b/django/db/backends/creation.py index b1aca97996..aba41fb3f9 100644 --- a/django/db/backends/creation.py +++ b/django/db/backends/creation.py @@ -47,7 +47,8 @@ class BaseDatabaseCreation(object): # Make the definition (e.g. 'foo VARCHAR(30)') for this field. field_output = [style.SQL_FIELD(qn(f.column)), style.SQL_COLTYPE(col_type)] - field_output.append(style.SQL_KEYWORD('%sNULL' % (not f.null and 'NOT ' or ''))) + if not f.null: + field_output.append(style.SQL_KEYWORD('NOT NULL')) if f.primary_key: field_output.append(style.SQL_KEYWORD('PRIMARY KEY')) elif f.unique: @@ -65,8 +66,7 @@ class BaseDatabaseCreation(object): table_output.append(' '.join(field_output)) if opts.order_with_respect_to: table_output.append(style.SQL_FIELD(qn('_order')) + ' ' + \ - style.SQL_COLTYPE(models.IntegerField().db_type()) + ' ' + \ - style.SQL_KEYWORD('NULL')) + style.SQL_COLTYPE(models.IntegerField().db_type())) for field_constraints in opts.unique_together: table_output.append(style.SQL_KEYWORD('UNIQUE') + ' (%s)' % \ ", ".join([style.SQL_FIELD(qn(opts.get_field(f).column)) for f in field_constraints]))