From c5f08954d50150c1dc121e78d9ab6ef68bb15180 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee <russell@keith-magee.com> Date: Tue, 17 Apr 2007 11:11:26 +0000 Subject: [PATCH] Fixed #4057 -- Fixed problem with quoting of sequence names on Postgres backends. Thanks, Gary Wilson. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5017 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/backends/postgresql/base.py | 4 ++-- django/db/backends/postgresql_psycopg2/base.py | 4 ++-- tests/regressiontests/fixtures_regress/models.py | 7 +++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py index 0dab19ba0d..b7be7951fc 100644 --- a/django/db/backends/postgresql/base.py +++ b/django/db/backends/postgresql/base.py @@ -192,7 +192,7 @@ def get_sql_flush(style, tables, sequences): sql.append("%s %s %s %s %s %s;" % \ (style.SQL_KEYWORD('ALTER'), style.SQL_KEYWORD('SEQUENCE'), - style.SQL_FIELD('%s_%s_seq' % (table_name, column_name)), + style.SQL_FIELD(quote_name('%s_%s_seq' % (table_name, column_name))), style.SQL_KEYWORD('RESTART'), style.SQL_KEYWORD('WITH'), style.SQL_FIELD('1') @@ -203,7 +203,7 @@ def get_sql_flush(style, tables, sequences): sql.append("%s %s %s %s %s %s;" % \ (style.SQL_KEYWORD('ALTER'), style.SQL_KEYWORD('SEQUENCE'), - style.SQL_FIELD('%s_id_seq' % table_name), + style.SQL_FIELD(quote_name('%s_id_seq' % table_name)), style.SQL_KEYWORD('RESTART'), style.SQL_KEYWORD('WITH'), style.SQL_FIELD('1') diff --git a/django/db/backends/postgresql_psycopg2/base.py b/django/db/backends/postgresql_psycopg2/base.py index 58e232df68..bc722261bb 100644 --- a/django/db/backends/postgresql_psycopg2/base.py +++ b/django/db/backends/postgresql_psycopg2/base.py @@ -149,7 +149,7 @@ def get_sql_flush(style, tables, sequences): sql.append("%s %s %s %s %s %s;" % \ (style.SQL_KEYWORD('ALTER'), style.SQL_KEYWORD('SEQUENCE'), - style.SQL_FIELD('%s_%s_seq' % (table_name, column_name)), + style.SQL_FIELD(quote_name('%s_%s_seq' % (table_name, column_name))), style.SQL_KEYWORD('RESTART'), style.SQL_KEYWORD('WITH'), style.SQL_FIELD('1') @@ -160,7 +160,7 @@ def get_sql_flush(style, tables, sequences): sql.append("%s %s %s %s %s %s;" % \ (style.SQL_KEYWORD('ALTER'), style.SQL_KEYWORD('SEQUENCE'), - style.SQL_FIELD('%s_id_seq' % table_name), + style.SQL_FIELD(quote_name('%s_id_seq' % table_name)), style.SQL_KEYWORD('RESTART'), style.SQL_KEYWORD('WITH'), style.SQL_FIELD('1') diff --git a/tests/regressiontests/fixtures_regress/models.py b/tests/regressiontests/fixtures_regress/models.py index f9d4d35045..dd407df353 100644 --- a/tests/regressiontests/fixtures_regress/models.py +++ b/tests/regressiontests/fixtures_regress/models.py @@ -7,6 +7,13 @@ class Animal(models.Model): def __str__(self): return self.common_name +class Plant(models.Model): + name = models.CharField(maxlength=150) + + class Meta: + # For testing when upper case letter in app name; regression for #4057 + db_table = "Fixtures_regress_plant" + __test__ = {'API_TESTS':""" >>> from django.core import management