From 23a736dca9b2a631e841a9daff067558206e7965 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Sun, 19 Aug 2007 23:07:34 +0000 Subject: [PATCH] Refactored get_drop_foreignkey_sql() to DatabaseOperations.drop_foreignkey_sql(). Refs #5106 git-svn-id: http://code.djangoproject.com/svn/django/trunk@5956 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/management/sql.py | 2 +- django/db/backends/__init__.py | 6 ++++++ django/db/backends/ado_mssql/base.py | 3 --- django/db/backends/dummy/base.py | 1 - django/db/backends/mysql/base.py | 6 +++--- django/db/backends/mysql_old/base.py | 6 +++--- django/db/backends/oracle/base.py | 3 --- django/db/backends/postgresql/base.py | 3 --- django/db/backends/postgresql_psycopg2/base.py | 3 --- django/db/backends/sqlite3/base.py | 6 +++--- 10 files changed, 16 insertions(+), 23 deletions(-) diff --git a/django/core/management/sql.py b/django/core/management/sql.py index 766d05129f..b34b6d3dcc 100644 --- a/django/core/management/sql.py +++ b/django/core/management/sql.py @@ -147,7 +147,7 @@ def sql_delete(app, style): output.append('%s %s %s %s;' % \ (style.SQL_KEYWORD('ALTER TABLE'), style.SQL_TABLE(backend.quote_name(table)), - style.SQL_KEYWORD(backend.get_drop_foreignkey_sql()), + style.SQL_KEYWORD(connection.ops.drop_foreignkey_sql()), style.SQL_FIELD(truncate_name(r_name, backend.get_max_name_length())))) del references_to_delete[model] if model._meta.has_auto_field and hasattr(backend, 'get_drop_sequence'): diff --git a/django/db/backends/__init__.py b/django/db/backends/__init__.py index ea75dcf840..f740bef3bb 100644 --- a/django/db/backends/__init__.py +++ b/django/db/backends/__init__.py @@ -85,3 +85,9 @@ class BaseDatabaseOperations(object): during a CREATE TABLE statement. """ return '' + + def drop_foreignkey_sql(self): + """ + Returns the SQL command that drops a foreign key. + """ + return "DROP CONSTRAINT" diff --git a/django/db/backends/ado_mssql/base.py b/django/db/backends/ado_mssql/base.py index f97822ebea..56dd944dcd 100644 --- a/django/db/backends/ado_mssql/base.py +++ b/django/db/backends/ado_mssql/base.py @@ -113,9 +113,6 @@ def get_random_function_sql(): def get_fulltext_search_sql(field_name): raise NotImplementedError -def get_drop_foreignkey_sql(): - return "DROP CONSTRAINT" - def get_pk_default_value(): return "DEFAULT" diff --git a/django/db/backends/dummy/base.py b/django/db/backends/dummy/base.py index 21a0bb6a5f..e9488540d6 100644 --- a/django/db/backends/dummy/base.py +++ b/django/db/backends/dummy/base.py @@ -47,7 +47,6 @@ get_last_insert_id = complain get_limit_offset_sql = complain get_random_function_sql = complain get_fulltext_search_sql = complain -get_drop_foreignkey_sql = complain get_pk_default_value = complain get_max_name_length = ignore get_start_transaction_sql = complain diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index d00829f502..642d8d4272 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -71,6 +71,9 @@ class DatabaseOperations(BaseDatabaseOperations): sql = "CAST(DATE_FORMAT(%s, '%s') AS DATETIME)" % (field_name, format_str) return sql + def drop_foreignkey_sql(self): + return "DROP FOREIGN KEY" + class DatabaseWrapper(BaseDatabaseWrapper): ops = DatabaseOperations() @@ -164,9 +167,6 @@ def get_random_function_sql(): def get_fulltext_search_sql(field_name): return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name -def get_drop_foreignkey_sql(): - return "DROP FOREIGN KEY" - def get_pk_default_value(): return "DEFAULT" diff --git a/django/db/backends/mysql_old/base.py b/django/db/backends/mysql_old/base.py index a3dfcf0e76..558475e02f 100644 --- a/django/db/backends/mysql_old/base.py +++ b/django/db/backends/mysql_old/base.py @@ -81,6 +81,9 @@ class DatabaseOperations(BaseDatabaseOperations): sql = "CAST(DATE_FORMAT(%s, '%s') AS DATETIME)" % (field_name, format_str) return sql + def drop_foreignkey_sql(self): + return "DROP FOREIGN KEY" + class DatabaseWrapper(BaseDatabaseWrapper): ops = DatabaseOperations() @@ -183,9 +186,6 @@ def get_random_function_sql(): def get_fulltext_search_sql(field_name): return 'MATCH (%s) AGAINST (%%s IN BOOLEAN MODE)' % field_name -def get_drop_foreignkey_sql(): - return "DROP FOREIGN KEY" - def get_pk_default_value(): return "DEFAULT" diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index 6198ee8030..318e0cf03e 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -189,9 +189,6 @@ def get_random_function_sql(): def get_fulltext_search_sql(field_name): raise NotImplementedError -def get_drop_foreignkey_sql(): - return "DROP CONSTRAINT" - def get_pk_default_value(): return "DEFAULT" diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py index 4fec530b5b..b51501f570 100644 --- a/django/db/backends/postgresql/base.py +++ b/django/db/backends/postgresql/base.py @@ -143,9 +143,6 @@ def get_random_function_sql(): def get_fulltext_search_sql(field_name): raise NotImplementedError -def get_drop_foreignkey_sql(): - return "DROP CONSTRAINT" - def get_pk_default_value(): return "DEFAULT" diff --git a/django/db/backends/postgresql_psycopg2/base.py b/django/db/backends/postgresql_psycopg2/base.py index 56cb53e3bc..e7bf84d4f4 100644 --- a/django/db/backends/postgresql_psycopg2/base.py +++ b/django/db/backends/postgresql_psycopg2/base.py @@ -97,9 +97,6 @@ def get_random_function_sql(): def get_fulltext_search_sql(field_name): raise NotImplementedError -def get_drop_foreignkey_sql(): - return "DROP CONSTRAINT" - def get_pk_default_value(): return "DEFAULT" diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py index 88df473f52..75b5f55077 100644 --- a/django/db/backends/sqlite3/base.py +++ b/django/db/backends/sqlite3/base.py @@ -45,6 +45,9 @@ class DatabaseOperations(BaseDatabaseOperations): # function django_date_trunc that's registered in connect(). return 'django_date_trunc("%s", %s)' % (lookup_type.lower(), field_name) + def drop_foreignkey_sql(self): + return "" + class DatabaseWrapper(BaseDatabaseWrapper): ops = DatabaseOperations() @@ -127,9 +130,6 @@ def get_random_function_sql(): def get_fulltext_search_sql(field_name): raise NotImplementedError -def get_drop_foreignkey_sql(): - return "" - def get_pk_default_value(): return "NULL"