Skip to content

Commit

Permalink
[1.0.X] Fixed #9862 -- For better SQL portability, don't specify "NUL…
Browse files Browse the repository at this point in the history
…L" 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
  • Loading branch information
malcolmt committed Jan 6, 2009
1 parent 7982e5c commit e8ddef5
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions django/db/backends/creation.py
Expand Up @@ -47,7 +47,8 @@ def sql_create_model(self, model, style, known_models=set()):
# 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:
Expand All @@ -65,8 +66,7 @@ def sql_create_model(self, model, style, known_models=set()):
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]))
Expand Down

0 comments on commit e8ddef5

Please sign in to comment.